43H:强制目标单元为OFF;
● 元件首址:表示PLC内部的元件类型以及寄存器的地址(但不能表示一个位地址)。前两个字节表示寄存器类型,后两个字节表示寄存器号。00 00(H):I寄存器区 01 00(H):Q寄存器区。02 00(H):M寄存器区 08 00(H):V寄存器区;
● 字节数:从元件首地址起,读取或写入PLC元件的数据个数数据块:准备读取或者写入PLC的数据或状态;
● BCC校验码:在传输过程中,指令有可能受到任何的干扰而使原来的数据信号发生扭曲,此时的指令当然是错误的,为了侦测指令在传输过程中发生的错误,接收方必须对指令作进一步的确认工作,以防止错误的指令被执行,最简单的方法就是使用校验码。BCC校验码的方法就是将要传送的字符串的ASCII码以字节为单位作异或和,并将此异或和作为指令的一部分传送出去;同样地,接收方在接到指令后,以相同的方式对接收到的字符串作异或和,并与传送方所送过来的值作对比,若其值相等,则代表接收到的指令是正确的,反之则是错误的
● 结束码:结束字符标志着指令的结束,不同的PLC从站可以定义不同的结束字符以接收针对该PLC的指令[4]。
本例通信协议设计下:
1. 单片机与PLC之间的传输波特率为19200bps;无校验,8个数据位,1个可编程位,1位起始位,1位停止位;
2. 发送和接收的数据形式为ASCII;
3. 需要通信时,当PLC接收到单片机发送的数据后,就将RI标志置‘1’,PLC就要向单片机发送ASCII码,一个ASCII码的数据发送完后,也要将TI标志置‘1’。
4.2 通信程序设计
在实现自由口通信的软件设计中,主要包括单片机程序设计和PLC程序设计。
4.2.1 单片机端程序的实现
上一篇:阿尔法变频器与台达PLC通信