三菱FX系列PLC通信协议详解及程序示例

需积分: 50 46 下载量 66 浏览量 更新于2024-07-15 2 收藏 330KB PDF 举报
本文档提供了三菱FX系列PLC的通信协议详细信息,包括通信格式、命令码、传输参数以及通信指令的使用。 三菱FX系列PLC通信协议是用于与编程端口或FX-232AW模块进行交互的协议。协议主要包含以下几个核心组成部分: 1. **通讯格式**:基于RS232C串行通信,采用9600bps的波特率,偶校验,累加和校验方式(和校验),以及ASCII字符编码。 2. **命令码**: - `DEVICEREADCMD`("0"):用于读取X, Y, M, S, T, C, D等位元件的状态。 - `DEVICEWRITECMD`("1"):用于写入位元件的状态。 - `FORCEONCMD`("7"):强制ON指定的位元件。 - `FORCEOFFCMD`("8"):强制OFF指定的位元件。 3. **帧格式**:由STX(起始字符02H)、命令码、地址、数据长度、数据、ETX(结束字符03H)和两个校验和(高位和低位)组成。校验和计算方法为将所有数据字节相加,取低两位作为校验值。 4. **通信指令**: - `BR`:读取单个位元件状态。 - `WR`:读取多个位元件状态或读取字元件的值。 - `BW`:写入单个位元件状态。 - `WW`:写入多个位元件状态或设置字元件的值。 - `BT`:设置或复位单个位元件。 - `WT`:设置或复位多个位元件,或写入字元件的值。 - `RR`:控制PLC运行。 - `RS`:控制PLC停止。 - `PC`:读取PLC设备类型。 - `TT`:执行连接测试。 这些指令可用于开发与三菱FX系列PLC交互的用户协议,特别是在国产PLC的开发过程中可以作为参考。通过理解这些指令和协议细节,开发者能够编写C语言或其他编程语言的程序来实现与FX系列PLC的高效通信。 在实际应用中,需要注意的是,当进行通信时,确保发送的命令符合协议规定的格式,并正确计算和校验数据,以确保通信的可靠性和准确性。同时,根据需要选择适当的通信指令,例如,若需读取或写入位元件状态,可以使用`BR`、`WR`、`BW`和`WW`指令;而若需控制PLC的运行状态,则使用`RR`或`RS`指令。 此外,对于累加和校验,如果累加和超过两位,只取低两位作为校验和,这是为了简化校验过程并提高数据传输的容错能力。例如,提供的示例帧中的校验和计算就是遵循这一规则。 掌握这个通信协议对于开发与三菱FX系列PLC相关的控制系统或者进行自动化项目是非常重要的,它可以帮助你更好地理解和实现与PLC的通讯功能。