西门子模块6ES7212-1HE40-0XB0
“字符区域”、“校验码”等七部分组成。其中, “h”为报头,取值enq,其ascii码为“05h”。“a”为地址,取值“00”,表示与从机00通信。“ff”为fx系列plc的标识号。“br”为“读位元件”指令。“a”为等待时间,对应100ms。“x0004”、“04”表示从x004开始读取4个位元件的值。“c”为校验码,指定为sum(0)。
(5)创建接收阵列
三菱通信格式比较复杂,而且接收到响应数据具有一定的不确定性。因此,在协议宏程序中使用接收阵列的形式完成数据的接收工作。如图3所示,在接收阵列中设置了3种可能接收到的数据信息(receive message),并规定接收到特殊数据信息后要进行的下一步处理方法(next process)。
通信协议宏组态结束后,将其下载到通信板中。
三菱plc通信参数设置:通信格式设置为bbbbat 1,波特率9600bps、偶校验、7位数据位、1位停止位。地址设置范围00h~0fh。
欧姆龙plc通信参数设置:通信板a端口设定为协议宏通信方式,其他通信参数要与下位三菱plc的通信参数保持一致。
通信协议宏的调用与执行程序段如图4所示,28908为通信板端口a使用标志。pmcr指令的第一操作数“#1000”、“#1001”为控制字,第一位的“1”表示使用通信板的端口a,后3位数表示调用并执行的通信序列号。dm0000、dm0200为pmcr指令的第二操作数,所指定的有效通道存放发送的数据。dm0100、dm0300为pmcr指令的第三操作数,存放接收到的数据。当pmcr调用000号通信序列时,从三菱plc的x位元件组读取数据,当pmcr调用001号通信序列时,向下位plc的y位元件组写入数据。
通信协议宏具有较强的灵活性,程序的编写和调用非常简单,容易实现不同厂家plc之间的通信。在程序的编制与调试过程中,一些细节问题必须予以注意:
(1)在程序中有多条pmcr指令时,使用微分指令避免指令间的冲突;
(2)读取几个设备的数据,使用变量的方式接收数据;
(3)**将发送信息与接收信息写在不同的通信步中,避免从站断线导致pmcr指令执行标志无法复位
先将串口设定成RS-232模式,然后将通信双方的波特率等参数设成一致,建议将结束码设成一个字节(比如回车的ACS码:0D)
然后将程序写入,注意一定要一个微分的方式才能正常通信,没有用微分的方式触发,搞了一上午才搞好,工作模式也要搞好,D200的值为(#0100)为串口1,#0200为串口2,
#0100第一个数固定为0,第二个数表示串口号有1和2可选,第三个数表示ER信号控制,第四个数表示0为高字节在先,1为低字节在先!
一、三菱处理步骤
1、 打开三菱原程序
2、对梯形图程序切换到列表
3、显示列表进行全部COPY(Ctrl+C)
二、欧姆龙处理步骤
1、 新建欧姆龙程序
选择对应的型号CP1E,打开右边-设定;
选择CPU类型即点数;然后确定-确定。
2、 Copy程序到欧姆龙程序中
先把光标移到程序段,然后粘贴(Ctrl+V),弹出如下窗口,选择被转换的PLC型号
3、保存路径
点击选择,打开如下窗口,选择保存的路径,文件名称,点击保存;然后回上个菜单点击“OK”,完成转换。
注意:有些指令转换后会有所不同,直接在欧姆龙程序中修改即可