卓發(fā)智能
相互學(xué)習(xí),共同進(jìn)步。
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 2457 個(gè)
工控威望: 3066 點(diǎn)
下載積分: 11431 分
在線時(shí)間: 660(小時(shí))
注冊時(shí)間: 2008-08-03
最后登錄: 2024-12-20
查看卓發(fā)智能的 主題 / 回貼
樓主  發(fā)表于: 2011-09-14 19:59
OMRON PLC與其它儀表或設(shè)備通訊(無論是OMRON儀表或第三方儀表),要用帶協(xié)議宏的串口通訊模塊或模板,根據(jù)儀表或設(shè)備的通訊協(xié)議作相應(yīng)的程序,建立相應(yīng)的連通通道,就可對儀表進(jìn)行讀和寫。

筆者曾為客戶作過PLC與第三方溫度儀表的通訊,現(xiàn)呈給各位,請指正。

所用PLC為OMRON C200HE-CPU42,配通訊模塊C200HW-COM06,使用其A口(RS485)與溫度表TTM-120通訊。

1、所用溫度儀表“神王”TTM-120通訊協(xié)議:

EIA標(biāo)準(zhǔn):RS485

通訊:站 1~31

傳輸:半雙工

通訊碼:ASCll 7位(BCC除外) 8位(MSD位=0)

接口方式:2線制

通訊速度:1200,2400,4800,9600

通訊距離:500Mmax

字符:啟動位:1位

停止位:1/2位

數(shù)據(jù):7/8位

校驗(yàn):無/奇/偶

BCC校驗(yàn):預(yù)先/不選擇

通訊地址:1~99

通訊格式:

讀數(shù)據(jù):STX(02H 起始碼)+地址(2位)+R+標(biāo)識碼(3位)+ETX(03H 結(jié)束碼)

儀表返回:STX(02H 起始碼)+地址(2位)+ACK(06H 響應(yīng))+標(biāo)識碼(3位)+數(shù)據(jù)(5位)+ETX(03H 結(jié)束碼)

寫數(shù)據(jù):STX(02H 起始碼)+地址(2位)+W+標(biāo)識碼(3位)+ 數(shù)據(jù)(5位)+ETX(03H 結(jié)束碼)

儀表返回:STX(02H 起始碼)+地址(2位)+ACK(06H 響應(yīng))+ETX(03H 結(jié)束碼)

錯(cuò)誤信息響應(yīng):STX(02H 起始碼)+地址(2位)+NAK(15H 錯(cuò)誤響應(yīng))+錯(cuò)誤格式(1位)+ETX(03H 結(jié)束碼)

2、用協(xié)議宏軟件CX-PROTOCOL作協(xié)議宏程序

可用用CX-PROTOCOL中現(xiàn)有的系統(tǒng)標(biāo)準(zhǔn)協(xié)議COPY到新建的程序中,再作修改,當(dāng)然也可重新編制。

在新建的程序的DEVICES中選擇所用的PLC型號,

通訊口A參數(shù)設(shè)置方式為:PROTOCOL MACRO;并以儀表的通訊格式設(shè)置波特率等參數(shù)。

協(xié)議宏程序中有若干內(nèi)容:主要是發(fā)送信息列表;接受信息列表;這兩個(gè)表是協(xié)議宏的基本程序。再有就是具體的發(fā)送形式和接受形式,其它功能的讀寫形式,儀表的其它功能的讀寫形式。

我作了四種,根據(jù)儀表協(xié)議中的各個(gè)格式,編制宏程序,如下:

發(fā)送信息列表:

①寫數(shù)據(jù):SD(01)_1

:STX

:ETX

數(shù)據(jù)形式:變量格式($(R(2),5))

地址格式:ASCll變量格式($(R(1),2)

"W":寫請求

標(biāo)識符(儀表功能參數(shù):寫入設(shè)定值)“空格SV”

數(shù)據(jù)格式:++"W"+" SV"+($(R(2),5))+

② 讀請求:SD(02)_1

地址格式:ASCll變量格式($(R(1),2)

"R":讀請求

標(biāo)識符(儀表功能參數(shù):讀入過程值)“PV1”

數(shù)據(jù)格式:++"R"+"PV1"+

接受信息列表:

①接受響應(yīng):RV(01)_1

"ACK":響應(yīng)接受

數(shù)據(jù)格式:++"ACK"+

②接受數(shù)據(jù):RV(02)_1

數(shù)據(jù)形式:變量格式(&(W(1),*)) 存入PLC指定的接收數(shù)據(jù)

數(shù)據(jù)格式:+(&(W(1),*))+

寫入命令設(shè)置:

編號:050

命令:發(fā)送&接受

發(fā)送命令:SD(01)_1

接收命令:RV(01)_1

讀入命令設(shè)置:

編號:051

命令:發(fā)送&接受

發(fā)送命令:SD(02)_1

接收命令:RV(02)_1

編制設(shè)置完成,下裝到PLC中。

3、用CX-PROGRAMMER作通訊程序

程序用協(xié)議宏指令PMCR完成與儀表的通訊:

三個(gè)操作數(shù):一:控制字:端口+協(xié)議宏序列號

二:發(fā)送數(shù)據(jù)首址 占2/3個(gè)字,首字是指令字?jǐn)?shù);下一字為儀表地址;

對于寫命令要多一個(gè)字為設(shè)定值

三:接收數(shù)據(jù)首址 占4個(gè)字,首字是命令字?jǐn)?shù);下兩字是接收的5位數(shù)據(jù)。

對于寫命令該操作數(shù)為虛設(shè)字,沒有實(shí)際意義

讀指令:PMCR #1051 端口=1 序列號051(讀出)

DM0000 DM0000=#0002 DM0001=#0001

DM0030 DM0030=#0004 DM0031~DM0033=數(shù)據(jù)

寫指令:PMCR #1050 端口=1 序列號050(寫入)

DM0020 DM0020=#0003 DM0021=#0001 DM0022=設(shè)置值

DM0040(虛設(shè))

協(xié)議宏執(zhí)行標(biāo)志:端口一(A):α機(jī)為IR289.08 CQM1H為IR207.08

端口二(B):α機(jī)為IR289.12 CQM1H為IR207.12

當(dāng)這變量=0時(shí),方可執(zhí)行PMCR命令

每個(gè)端口只能執(zhí)行一個(gè)通信序列,可以不同的時(shí)間段產(chǎn)生PMCR指令的執(zhí)行脈沖。

4、對于若干個(gè)儀表,每表設(shè)置不同的站號,就可由程序分別對其作讀寫操作,只有地址相符的儀表才能響應(yīng)。
本帖最近評分記錄:
  • 下載積分:+2(ymmfa) 感謝分享
  • 相信自我!