本帖最后由 ZLDW 于 2018-12-14 11:46 编辑
欧姆龙PLC与T5UID2屏连接通讯指令
3.1 读写DM区指令读指令:RD;写指令:WD; 1)RD指令格式如下: 说明: 帧头:@固定,1个字节; 单元号:PLC上 设定,2个字节; 读命令:固定,RD(DM区),RH(H区),RR(CIO区)等,2个字节; 寄存器首地址:DCB码表示,4个字节; 读取寄存器个数:BCD码表示,4个字节; XOR校验:前边所有数据XOR运算,2个字节; 结束字符:*/CR,固定,/CR用0x0D,2个字节; 发送数据长度:17; 2) 发送读指令后,PLC响应格式如下: 说明: 错误码:00表示接收数据正常; 接收数据长度:11+读取寄存器个数*5 3) WR指令格式如下: 说明: 帧头:@固定,1个字节; 单元号:PLC上设定,2个字节; 读命令:固定,WD(DM区),WH(H区),WR(CIO区)等,2个字节; 写寄存器首地址:DCB码表示,4个字节; 写入的数据:BCD码表示,4个字节; XOR校验:前边所有数据XOR运算,2个字节; 结束字符:*/CR,固定,/CR用0x0D,2个字节; 发送数据长度:17; 注:这里只做写入一个DM寄存器的演示,如需写入多个DM寄存器(连续),连续写入几个,在首地址后增几个数据,每个数据4字节长度; 4) PLC程序: PLC编写程序此段程序的母的测试OS是否正确,由于PLC内部DM区只有通过软件监视才能直观得监测DM区的值,不方便演示效果,这里通过PLC的输出间接的测试OS是否正确程序说明如下: DM区读取测试程序段:上电将100赋值到D9,101赋值到D10,触摸屏上电后,读取DM区数据。 file:///C:/Users/Mia/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg DM区写入测试程序段: file:///C:/Users/Mia/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg 在“DM区演示”页面D9输入102或104,若写入PLC正确,则100.00输出,PLC对应指示灯点亮,D10输入103或105,若写入PLC正确,则100.01输出,PLC对应指示灯点亮。 3.2 读写CIO区指令读指令:RR;写指令:WR;CIO区包含PLC的外部硬件输入和输出; 1) CIO区读指令同DM区读指令类似,需将RD指令更改为RR即可,格式如下: 2) 发送读指令后,PLC响应格式如下: 3) WR指令格式如下: 说明: 帧头:@固定,1个字节; 单元号:PLC上设定,2个字节; 读命令:固定,WD(DM区),WH(H区),WR(CIO区)等,2个字节; 写寄存器首地址:DCB码表示,4个字节; 写入的数据:BCD码表示,4个字节; XOR校验:前边所有数据XOR运算,2个字节; 结束字符:*/CR,固定,/CR用0x0D,2个字节; 发送数据长度:17; 注:这里只做写入一个CIO寄存器的演示,如需写入多个CIO寄存器(连续),连续写入几个,在首地址后增几个数据,每个数据4字节长度; 4) PLC程序: PLC编写程序此段程序的母的测试OS是否正确,由于PLC内部CIO区只有通过软件监视才能直观得监测DM区的值,不方便演示效果,这里通过PLC的输出间接的测试OS是否正确程序说明如下: file:///C:/Users/Mia/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg 上电后触摸屏读取CIO10.00的状态,由于只有开和关两种状态,所以以图标的形式显示在触摸屏,开时触摸屏LED1显示“绿色”,关时触摸屏显示“红色”,当在触摸屏按下按钮时,触摸屏读CIO10的16位状态,根据对应位取反后写入到触摸屏,演示效果为按下LED1,PLC的100.02输出; 3.3 读写保持区H区指令 读指令:RH;写指令:WH; H区与CIO区相同,只需将对应指令更改为RH,WH即可,演示效果见视频。 1)PLC程序: file:///C:/Users/Mia/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg 上电后触摸屏读取H0.00的状态,由于只有开和关两种状态,所以以图标的形式显示在触摸屏,开时触摸屏LED3显示“绿色”,关时触摸屏显示“红色”,当在触摸屏按下按钮时,触摸屏读CIO10的16位状态,根据对应位取反后写入到触摸屏,演示效果为按下LED3,PLC的100.04输出; 3.4 IO存储区复合读取指令QQMR指令需要和QQIR配合使用,在发送完成QQMR后,发送QQIR指令后等待PLC回复数据。该指令可以读取一次行读取H区/DM区/CIO区的状态,这里,将前三个演示所用的到的寄存器都读取上来,并显示到屏上,包括D9,D10,CIO10,H0. 1)QQMR复合读指令数据格式:读D9和CIO10 发送完QQMR指令后,发送QQIR指令,之后不需要在发送QQMR指令, QQIR指令固定为:@00QQIR5B*/CR,其响应格式如下: file:///C:/Users/Mia/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg 次指令的没帧响应我们只需处理“,”之前的四个字节数据和FCS之前的四个字节数据即可,第一个逗号之前到结束分别对应QQMR指令发送的寄存器;
|