卓發智能
相互學習,共同進步。
級別: 工控俠客
|
OMRON PLC與其它儀表或設備通訊(無論是OMRON儀表或第三方儀表),要用帶協議宏的串口通訊模塊或模板,根據儀表或設備的通訊協議作相應的程序,建立相應的連通通道,就可對儀表進行讀和寫。 筆者曾為客戶作過PLC與第三方溫度儀表的通訊,現呈給各位,請指正。 所用PLC為OMRON C200HE-CPU42,配通訊模塊C200HW-COM06,使用其A口(RS485)與溫度表TTM-120通訊。 1、所用溫度儀表“神王”TTM-120通訊協議: EIA標準:RS485 通訊:站 1~31 傳輸:半雙工 通訊碼:ASCll 7位(BCC除外) 8位(MSD位=0) 接口方式:2線制 通訊速度:1200,2400,4800,9600 通訊距離:500Mmax 字符:啟動位:1位 停止位:1/2位 數據:7/8位 校驗:無/奇/偶 BCC校驗:預先/不選擇 通訊地址:1~99 通訊格式: 讀數據:STX(02H 起始碼)+地址(2位)+R+標識碼(3位)+ETX(03H 結束碼) 儀表返回:STX(02H 起始碼)+地址(2位)+ACK(06H 響應)+標識碼(3位)+數據(5位)+ETX(03H 結束碼) 寫數據:STX(02H 起始碼)+地址(2位)+W+標識碼(3位)+ 數據(5位)+ETX(03H 結束碼) 儀表返回:STX(02H 起始碼)+地址(2位)+ACK(06H 響應)+ETX(03H 結束碼) 錯誤信息響應:STX(02H 起始碼)+地址(2位)+NAK(15H 錯誤響應)+錯誤格式(1位)+ETX(03H 結束碼) 2、用協議宏軟件CX-PROTOCOL作協議宏程序 可用用CX-PROTOCOL中現有的系統標準協議COPY到新建的程序中,再作修改,當然也可重新編制。 在新建的程序的DEVICES中選擇所用的PLC型號, 通訊口A參數設置方式為:PROTOCOL MACRO;并以儀表的通訊格式設置波特率等參數。 協議宏程序中有若干內容:主要是發送信息列表;接受信息列表;這兩個表是協議宏的基本程序。再有就是具體的發送形式和接受形式,其它功能的讀寫形式,儀表的其它功能的讀寫形式。 我作了四種,根據儀表協議中的各個格式,編制宏程序,如下: 發送信息列表: ①寫數據:SD(01)_1 :STX :ETX 數據形式:變量格式($(R(2),5)) 地址格式:ASCll變量格式($(R(1),2) "W":寫請求 標識符(儀表功能參數:寫入設定值)“空格SV” 數據格式:++"W"+" SV"+($(R(2),5))+ ② 讀請求:SD(02)_1 地址格式:ASCll變量格式($(R(1),2) "R":讀請求 標識符(儀表功能參數:讀入過程值)“PV1” 數據格式:++"R"+"PV1"+ 接受信息列表: ①接受響應:RV(01)_1 "ACK":響應接受 數據格式:++"ACK"+ ②接受數據:RV(02)_1 數據形式:變量格式(&(W(1),*)) 存入PLC指定的接收數據 數據格式:+(&(W(1),*))+ 寫入命令設置: 編號:050 命令:發送&接受 發送命令:SD(01)_1 接收命令:RV(01)_1 讀入命令設置: 編號:051 命令:發送&接受 發送命令:SD(02)_1 接收命令:RV(02)_1 編制設置完成,下裝到PLC中。 3、用CX-PROGRAMMER作通訊程序 程序用協議宏指令PMCR完成與儀表的通訊: 三個操作數:一:控制字:端口+協議宏序列號 二:發送數據首址 占2/3個字,首字是指令字數;下一字為儀表地址; 對于寫命令要多一個字為設定值 三:接收數據首址 占4個字,首字是命令字數;下兩字是接收的5位數據。 對于寫命令該操作數為虛設字,沒有實際意義 讀指令:PMCR #1051 端口=1 序列號051(讀出) DM0000 DM0000=#0002 DM0001=#0001 DM0030 DM0030=#0004 DM0031~DM0033=數據 寫指令:PMCR #1050 端口=1 序列號050(寫入) DM0020 DM0020=#0003 DM0021=#0001 DM0022=設置值 DM0040(虛設) 協議宏執行標志:端口一(A):α機為IR289.08 CQM1H為IR207.08 端口二(B):α機為IR289.12 CQM1H為IR207.12 當這變量=0時,方可執行PMCR命令 每個端口只能執行一個通信序列,可以不同的時間段產生PMCR指令的執行脈沖。 4、對于若干個儀表,每表設置不同的站號,就可由程序分別對其作讀寫操作,只有地址相符的儀表才能響應。 |
|
---|---|---|
本帖最近評分記錄:
|