天水西門子PLC代理商
天水西門子PLC代理商
西門子s7-300/400 plc轉換指令
1、指令特點與編程
s7-300/400的轉換指令功能相對單一,所有代碼轉換指令均為用于數據形式轉換的指令,且不可以實現ascii碼、字符串的轉換,也無譯碼功能。
s7-300/400的數據形式轉換指令的主要特點:
①轉換指令主要有BCDj、I-BCD、BCD_DI、DI—BCD、DI_RI、I_DI、ROUND、TRUNC、CEIL、FLOOR等,可以進行十六進制數與BCD之間的轉換、整數與浮點數之間的轉換、浮點數的“取整"等操作。
②與移位指令一樣,S7-300/400的數據形式轉換一般只能通過累加器1進行,當存儲器需要移位時,應首先將存儲器的內容移動到累加器l中。
③S7-300/400的移位操作只能對字、雙字長的數據進行,不能用于字節(jié)。
數據形式轉換指令的梯形圖編程與S7-200相似,如需要將輸入字IW20的BCD數據(十進制數據)轉換為整數(十六進制數據)的程序格式如圖10-6.6。
從圖10-6.6的指令表程序可以看出,數據形式轉換的步是將“源數據"IW20裝入累加器l中,然后再對累加器l的內容進行轉換,結果傳送到目標存儲器MW100中。
2、BCD轉換指令
①S7-300/400的BCD數據只能對字、雙字長的數據進行,不能用于字節(jié)。
②指令BCD I、LBCD用于16位整數與BCD間的轉換,由于數據帶符號,因此只能轉換3位BCD碼,BCD數據的范圍為-999~+999。指令BCD DI、DI__ BCD用于32位整數與BCD間的轉換,同樣帶符號,因此只能轉換7位BCD碼,BCD數據的范圍為-9999999~+9999999。
③16位整數的BCD存儲格式為:
格式中的空余位(16位整數的bit14~bit12、32位整數的bit30~bit28),一般取與符號位相同的值,如:正數為“O";負數為“l(fā)"。
④當16位、32位整數轉換為BCD時,如果出現大于9的十進制數值(如1100等),或者轉換后的數值超過了BCD格式允許存儲的范圍,將出現轉換錯誤,并導致PLC的停止。
3、整數與浮點數轉換指令
S7-300/400的數據形式轉換指令I DI、DI R用于16位整數與32位整數、32位整數與浮點數之間的轉換;ROUND、TRUNC的作用、意義與S7-200相同,用于對浮點數的小數部位處理;CEIL、FLOOR是當浮點與整數相差很大時的兩種不同處理方式。
IDI指令可以將16位整數轉換為32位整數,其實質只是將符號位從原16位整數的bit15移到32位整數的bit31上,其余數據不變或增補0而已
SIEMENSPLC伺服控制
摘要:伴隨著工業(yè)自動化的發(fā)展,對其 中的位置控制精確度也逐步的提高,如何能方便,準確的實現位置控制,是一個 重大的問題,本文講述了如何采用 PLC 可編程控制器來實現精確控制。
分別列 舉了三項方法,以及他們之間的相互比較。
引言 隨著自動化水平的不斷提高,越來越多的工業(yè)控制場合需要精確的位置控 制。
因此,如何更方便、更準確地實現位置控制是工業(yè)控制領域內的一個重要問 題。
位置控制的精確性主要取決于伺服驅動器和運動控制器的精度。
的運動 控制模塊可以對伺服系統進行非常復雜的運動控制。
但在有些需要位置控制的場 合,其對位置精度的要求比較高,但運動的復雜程度不是很高,這就沒有必要選 擇那些昂貴的運動控制系統。
S7-200 系列 PLC 是一種體積小、編程簡單、控制方便的可編程控制器,它 了多種位置控制方式可供用戶選擇,因此,如何利用該系列 PLC 實現對伺 服電機運動位置較為精準的控制是本文的研究重點。
1、基本控制系統 伺服系統分為液壓伺服系統、電氣-液壓伺服系統以及電氣伺服系統。
本文 主要討論了電氣伺服系統中的交流伺服系統,其基本組成為交流伺服電機、編碼 器和伺服驅動器。
交流伺服系統的工作原理是伺服驅動器發(fā)送運動命令,驅動伺 服電機運動, 并接收來自編碼器的反饋信號,然后重新計算伺服電機運動目標位 置,從而達到精確控制伺服電機運動。
本伺服系統中選用 Exlar 公司生產的 GSX50-0601 型伺服直線電動缸。
該電 動缸由普通伺服電機和一個行星滾珠絲杠組成, 用來實現將旋轉運動轉變?yōu)橹本€ 運動。
此外, 選用 Xenus 公司生產的 XenusTM 型伺服驅動器。
它可以利用 RS. 232 串口通信方式和外部脈沖方式實現位置控制。
一般來說, 一個伺服系統運轉需要配置一個上位機,所以本系統采用西門子 S7-200PLC 作為上位機控制器。
通過高速脈沖輸出、EM253 位置控制模塊、自 由口通信三種方式控制伺服電機運動。
2、高速脈沖輸出模式 西門子 CPU224XP 配置兩個內置脈沖發(fā)生器,它有脈沖串輸出(PTO)和脈沖 寬度調制輸出兩種脈沖發(fā)生模式可供選擇。
這兩個脈沖發(fā)生器的脈沖輸出頻 率為 100kHz。
在脈沖串輸出方式中,PLC 可生成一個 50%占空比脈沖串,用于 步進電機或伺服電機的速度和位置的控制。
2.1 硬件構成
圖 1 為高速脈沖輸出方式的位置控制原理圖。
控制過程中,將伺服驅動器工 作定義在脈沖+方向模式下,Q0.0 發(fā)送脈沖信號,控制電機的轉速和目標位置; Qo,發(fā)送方向信號,控制電機的運動方向。
伺服電動缸上帶有左限位開關 LIM 一、右限位開關 LIM+ 以及參考點位置開關 REF 。
三個限位信號分別連接到 CPU224XP 的 I0.0~I0.2 三個端子上, 可通過軟件編程, 實現限位和找尋參考點。
圖 1 位置控制原理圖 2.2 程序設計 高速脈沖串輸出(PTO)可以通過 Step7Micro/WIN 的位置控制向導進行組態(tài), 也可通過軟件編程實現控制。
PTO 輸出方式沒有專門的位置控制指令,只有一 條脈沖串輸出指令,而且在脈沖發(fā)送過程中不能停止,也不能修改參數。
為解決 以上問題,可以設置脈沖計數值等于 10(或更小),并能使脈沖發(fā)送指令 PLS 處 于激活狀態(tài)。
這樣,就可以在任一脈沖串發(fā)送完之后修改脈沖周期。
圖 2 為高速脈沖輸出方式位置控制流程圖。
控制思路為:通過 PTO 模式輸 出,可以控制脈沖的周期和個數;通過啟用高速計數器 HSC,對輸出脈沖進行 實時計數和定位控制,以控制伺服電機的運動過程。
圖 2 位置控制流程圖 3、EM253 位置控制模塊 EM253 位置控制模塊是西門子 S7-200 的特殊功能位置控制模塊,它能夠產 生脈沖串用于步進電機與伺服電機的速度和位置的開環(huán)控制。
3.1 硬件構成 如圖 3 所示為 EM253 位置控制原理圖, 定義伺服驅動器工作在脈沖+方向模 式下。
P0 口發(fā)送脈沖,P1 口發(fā)送方向,DIS 端硬件使能放大器,并同時清除放 大器錯誤。
LIM-、LIM+、REF 分別為電機左限位、右限位以及參考點。
圖 3EM253 位置控制原理圖 3.2 程序設計 EM253 位置控制模塊可以通過 Step7-Micro/WIN 進行向導配置, 配置完成后 系統將自動生成子程序,編程簡單、可輕松實現手動、自動、軌跡運行模式。
由 于 EM253 屬于開環(huán)控制,不能很好地反饋電機實際運動情況。
因此,利用伺服 驅動器本身的差分輸出信號,通過伺服驅動器軟件設置,反饋給 PLC,實現閉環(huán) 位置控制。
但由于直線伺服電動缸與 PLE 可允許發(fā)送接收信號存在一定差別, 因此,需要對輸入到 PLC 的信號進行電平的轉化以及降低伺服驅動器發(fā)送的反 饋脈沖頻率。
PLC 對輸入脈沖進行累加, 從而得到電機的實際運轉位置與運轉速 度,其脈沖計數程序如下。
①計數器初始化程序 LDSMO.1//*掃描時 MOVB16#FC,SMB47//SMB47=16#F4,SMB47 為高速計數器 1 的控制字節(jié) HDEF1,9//將 HSC1 配置為正交模式 MOVD0,SMD48//設置 HSCI 的新初始值為 0 MOVD20000,SMD52//設置 HSCI 的新預設值為 20000 HSCI//激活高速計數器 I ②脈沖計數程序 LDSMO.0 MOVDHC1,VD600//將高速計數器 1 所記數值存儲在 VD600 中
DTRVD600,VD610//VD601〕中的整數轉化為實數,存人 VD610 /RSOOO,VD610//VD610 除以 5000 存入 VD610,5001〕為電機旋轉一周編碼 器發(fā)送脈沖數 *R2.54,VD610//VD610 乘以 2.54 存人 VD610,2.54 為電機旋轉一周移動的距 離 4、RS-232 串口通信方式 4.1 硬件構成 西門子 CPU22
伺服系統和 PLC 分別作為系統的主從站。
PLC 控制器通過該 通信功能可實現對伺服驅動器進行運行控制、參數讀取、伺服驅動器當前運動狀 態(tài)的讀取等操作。
當 S7-200 系列 PLC 工作在自由口通信模式下時,一般通過 CPU 模塊的集 成接口進行通信。
CPU 集成接口采用了 PPI 硬件規(guī)范,其接口為 RS-485 串口, 因此,當 S7-200 系列 PLC 的 CPU 與帶有 RS-232 標準接口的計算機或伺服驅動 器連接時,需要配套選用 S7-200PLC 的 PC/PPI 轉換電纜或一個 RS-232/RS-485 轉換器。
4.2PLC 與伺服系統通信 4.2.1 報文構成 S-200PLC 在無協議通信方式工作時,不需要任何通信協議,通信參數需要 根據與其進行通信的伺服驅動器的通信格式進行設定。
本伺服系統選用的 Xe-nus 伺服驅動器可通過 RS-232 與 PLC 利用 ASCII 碼進行通信,其 ASCII 碼消息命 令格式如下: <命令代碼><命令具體參數> 其中:<命令代碼>為一個單字母代碼;<命令具體參數>表示電機所要執(zhí)行 的任務;為一個回車返回字符,表示命令結束。
如:sr0x2A21表示設 置伺服控制器工作在可編程控制模式。
4.2.2 程序設計 程序設計時, 將伺服驅動器工作定義在可編程位置模式。
該模式支持實時更 改伺服電機的運動速度、位置,通過 RS-232 接收來自 PLC 的 ASCII 碼命令,執(zhí) 行運動。
部分程序如下:
①初始化程序 LDSMO.1//*掃描 MOVB9,SMB30//設置自由端口 0 通信方式 SMB30=9、8 位數據位、9600、 PPI MOVB188,SMB87//設置自由端口。
接收信息控制 5MB87=188 MOVB13, SMB89//設置自由端口 0 結束字符 SMB89=13, 即結束字符= MOVW0,SMW90//設置自由端口 0 空閑超時 SMB90=0,信息接收始終處于 有效 MOVW200,SMW92//設置自由端口 0 信息超時 SMB92=200ms MOVB255,SMB94//設置自由端口 0 接收字符數 SMB94=255 ATCHINT_0,9//發(fā)送完成觸發(fā)中斷 0 ENI//允許中斷 ②發(fā)送信息程序 LDNVD3501.1//VD3501.1 為接收延遲,自由端口 0 沒有處于接收延遲時 ASM4.5//自由端口 0 處于空閑狀態(tài),SM4.5=1 AB=VB18,7//命令字節(jié) VB18=7,即要求設置運動目標位置 SCPY"sr0xca',VB3100//"sr0xca',復制到 VB3100,"sr0xca'為設置運動目標位 置命令 SCATB3600,VB3100//VB360()內的目標位置值連接到設置目標位置命令 后 SCATVB3190,VB3100//VB3190 內的結束字節(jié)連接到 VB3100 后; XMTVB3100,0//通過自由端口 0 發(fā)送命令至伺服驅動器 ③發(fā)送完成中斷程序(接收信息) LDSM0.0//SM0.0 總是為 1 SSM87.7,1//置 SM87.7=1,SM87.7 為允許接收信息位