RS-232串口通信方式
硬件構成
西門(mén)子CPU224XP支持無(wú)協(xié)議通信,即用戶(hù)僅需要對數據格式、傳輸速率、起始/停止碼等進(jìn)行簡(jiǎn)單設定,PLC與外部設備間就可進(jìn)行直接數據發(fā)送與接收的一種通信方式。伺服系統和PLC分別作為系統的主從站。PLC控制器通過(guò)該通信功能可實(shí)現對伺服驅動(dòng)器進(jìn)行運行控制、參數讀取、伺服驅動(dòng)器當前運動(dòng)狀態(tài)的讀取等操作。
當S7-200系列PLC工作在自由口通信模式下時(shí),一般通過(guò)CPU模塊的集成接口進(jìn)行通信。CPU集成接口采用了PPI硬件規范,其接口為RS-485串口,因此,當S7-200系列PLC的CPU與帶有RS-232標準接口的計算機或伺服驅動(dòng)器連接時(shí),需要配套選用S7-200 PLC的PC/PPI轉換電纜或一個(gè)RS-232/RS-485轉換器。
4.2 PLC與伺服系統通信
4.2.1 報文構成
S-200 PLC在無(wú)協(xié)議通信方式工作時(shí),不需要任何通信協(xié)議,通信參數需要根據與其進(jìn)行通信的伺服驅動(dòng)器的通信格式進(jìn)行設定。本伺服系統選用的Xe-nus伺服驅動(dòng)器可通過(guò)RS-232與PLC利用ASCII碼進(jìn)行通信,其ASCII碼消息命令格式如下:
<命令代碼><命令具體參數><CR>
其中:<命令代碼>為一個(gè)單字母代碼;<命令具體參數>表示電機所要執行的任務(wù);<CR>為一個(gè)回車(chē)返回字符,表示命令結束。如:s r0x2A 21<CR>表示設置伺服控制器工作在可編程控制模式。
4.2.2 程序設計
程序設計時(shí),將伺服驅動(dòng)器工作定義在可編程位置模式。該模式支持實(shí)時(shí)更改伺服電機的運動(dòng)速度、位置,通過(guò)RS-232接收來(lái)自PLC的ASCII碼命令,執行運動(dòng)。部分程序如下:
①初始化程序
LD SMO. 1 //首次掃描
MOVB 9, SMB30
//設置自由端口0
通信方式SMB30=9、8位數據位、9600、PPI
MOVB 188, SMB87
//設置自由端口。接收信息控制5MB87 =188
MOVB 13,SMB89 //設置自由端口0
結束字符SMB89=13,即結束字符=<CR>
MOVW 0, SMW90 //設置自由端口0
空閑超時(shí)SMB90=0,信息接收始終處于有效
MOVW200, SMW92
//設置自由端口0信息超時(shí)SMB92 =200 ms
MOVB 255, SMB94
//設置自由端口0接收字符最大數SMB94=255
ATCH INT_0,9 //發(fā)送完成觸發(fā)中斷事件0
ENI //允許中斷
②發(fā)送信息程序
LDN VD3501.1
// V D3501.1為接收延遲,
自由端口0沒(méi)有處于接收延遲時(shí)
A SM4. 5
//自由端口0處于空閑狀態(tài),SM4.5 =1
AB= VB18, 7
//命令字節VB18 =7,即要求設置運動(dòng)目標位置
SCPY "s r0xca',VB3100
//"s r0xca',復制到VB3100,
"s r0xca'為設置運動(dòng)目標位置命令
SCAT VB3600, VB3100
// VB360()內的目標位置值連接到設置目標位置命令后
SCAT VB3190, VB3100
//VB3190內的結束字節連接到VB3100后;
XMT VB3100, 0
//通過(guò)自由端口0發(fā)送命令至伺服驅動(dòng)器
③發(fā)送完成中斷程序(接收信息)
LD SM0.0 //SM0.0總是為1
S SM87.7, 1
//置SM87. 7=1,SM87.7為允許接收信息位
RCV VB3200, 0
//通過(guò)自由端口0接收信息至VB3200
發(fā)送信息程序其中
LDN VD3501.1 是什么意思? 怎么轉換不了梯形圖?這句總是報錯,求指教,謝謝!