三菱FX系列PLC编程口通信协议详解

需积分: 20 22 下载量 31 浏览量 更新于2024-11-08 收藏 136KB PDF 举报
"本文主要介绍了三菱FX系列PLC的通信协议,包括如何通过RS232串口进行读写操作。" 在三菱PLC的通信协议中,有三种主要的操作类型:DEVICEREAD(读出软设备状态值)、DEVICEWRITE(向PLC软设备写入值)以及位设备强制置位/复位。这些操作都是基于RS232串口通信协议进行的,适用于FX系列PLC以及FX-232AW模块。 1. DEVICEREAD(读出软设备状态值): - 命令:由STX(起始字符)开始,接着是CMD(命令码),然后是GROUPADDRESS(首地址),BYTES(位数),最后是ETX(结束字符)和SUM(和校验)。 - 例如,从D123地址开始读取4个字节数据的命令格式:02h 30h 31h,30h,46h,36h 30h,34h 03h 37h,34h。地址计算时,address=address*2+1000h,然后转换为ASCII码。 - PLC返回:数据按顺序排列,以STX开始,最后是ETX和SUM。 2. DEVICEWRITE(向PLC软设备写入值): - 命令格式与DEVICEREAD类似,但包含要写入的数据。例如,向D123开始的两个存储器写入1234,ABCD的命令是:02h 31h 31h,30h,46h,36h 30h,34h 33h,34h,31h,32h,43h,44h,41h,42h 03h 34h,39h。 - PLC返回ACK(06H)表示接收正确,NAK(15H)表示接收错误。 3. 位设备强制置位/复位: - FORCEON(置位)命令:02h 37h address 03h sum,地址计算为Address=Address/8+100h。 - FORCEOFF(复位)命令:02h 38h address 03h sum,同样使用Address=Address/8+100h的计算方式。 - PLC返回ACK或NAK以确认操作成功与否。 协议的关键点包括: - BYTES表示读写操作涉及的字节数,最多可读取64个字节。 - 累加和SUM是从STX后的第一个字节开始到ETX的所有字节的和。 - 地址算法是address=address*2+1000h,然后转换为ASCII码。 - 通信格式的命令码包括DEVICEREAD(0x30),DEVICEWRITE(0x31),FORCEON(0x37),以及FORCEOFF(0x38)。 这个协议不仅适用于FX系列PLC的编程端口,还适用于FX-232AW模块,提供了对PLC内部数据进行读写以及控制位设备状态的基本方法。对于进行PLC自动化控制和远程监控的应用来说,理解并掌握这种通信协议至关重要。