广东湘恒智能科技有限公司
主营产品: 广东省西门子授权代理商、西门子变频器、西门子PLC\西门子模块、西门子触摸屏、西门子伺服电机、西门子工控机、西门子集成系统、西门子低压、西门子控制单元、西门子CPU等
TIA功能码应用
发布时间:2024-06-18

一、功能码的含义


01

1.1、功能码决定了PLC(主站)是要读取还是写入目标设备(从站)的位或者字,例如我们的工程师拿到目标设备的通讯手册后,手册提供了目标设备的功能码与MODBUS地址,那么我们如何将其转换成MASTER块中需要添加的引脚数值,下面我们来详细说明。

1.2 、西门子1500、1200PLC的MASTER块是通过MODE与DATA ADDR这两个引脚的值共同决定功能码的值是多少,MASTER块中MODE值为0,是读取目标设备MODBUS通讯地址;MODE值为1,是写入目标设备MODBUS通讯地址。下面详细介绍各个功能码的含义。

图片


二、读位的功能码


02

2.1、功能码01,读取目标设备输出位的状态,可以理解为读取的是目标设备的DO,即读取的数据类型是布尔量,地址1~9999,此功能码下图红框中每个请求的位数的含义是此功能码可以连续读取多个目标设备输出位的状态。

2.2、功能码02,读取目标设备输入位的状态,可以理解为读取的是目标设备的DI,即读取的数据类型是布尔量,地址10001~19999,此功能码下图红框中每个请求的位数的含义是此功能码可以连续读取多个目标设备输入位的状态。

图片

三、读字的功能码


03

3.1、功能码03,读取目标设备输出寄存器的状态,可以理解为读取的是目标设备的AO,即读取的数据类型是字,地址是40001~49999和400001~465535,此功能码下图红框中每个请求的位数的含义是此功能码可以连续读取多个目标设备输出寄存器的状态。(详见3.1)

3.2、功能码04,读取目标设备输入寄存器的状态,可以理解为读取的是目标设备的AI,即读取的数据类型是字,地址是30001~39999,此功能码下图红框中每个请求的位数的含义是此功能码可以连续读取多个目标设备输入寄存器的状态。(详见3.2)

图片

3.1

图片

3.2

四、单次写入功能码


04

4.1、功能码05,向目标设备写入一个输出位,即写入的数据类型是布尔量,MODE值为1,地址为1~9999,此功能码下图红框中每个请求的位数的含义是此功能码一次只能向目标设备写入一个输出位。

4.2、功能码06,向目标设备写入一个保持寄存器,即写入的数据类型是字,MODE值为1,地址为40001~49999和400001~465535,此功能码下图红框中每个请求的位数的含义是此功能码一次只能向目标设备写入一个保持寄存器。

图片

五、连续写入功能码


05

5.1、功能码15,向目标设备写入两个或两个以上输出位时使用,写入的数据类型是布尔量,MODE值为1,地址为1~9999,此功能码下图红框中每个请求的位数的含义是此功能码一次只能向目标设备写入两个或两个以上输出位。注意:不是所有目标设备都支持连续写入。

5.2、功能码16,向目标设备写入两个或两个以上保持寄存器,即写入的数据类型是字,MODE值为1,地址为40001~49999和400001~465535,此功能码下图红框中每个请求的位数的含义是此功能码一次只能向目标设备写入两个或两个以上保持寄存器。

图片

六、我们与现场设备进行MODBUS通讯时会遇见目标的MODBUS地址在程序中需要做加一或减一处理的问题,这与设备的MODBUS起始和PLC的MODBUS起始地址有关,下面分三种情况举例说明。


06

6.1、地址一致:例如:设备MODBUS地址:1~9000;PLC MODBUS地址:40001~49999

这种情况你要读取的设备目标地址与程序中红框位置的地址一致。原因是设备MODBUS地址与PLC MODBUS地址起始地址一致,后续所有地址一一对应。

6.2、地址加一:例如:设备MODBUS地址:0~9000;PLC MODBUS地址:40001~49999

这种情况你要读取的设备目标地址在程序中红框位置地址需要加一,即设备目标地址为35则程序中红框位置地址为36。原因是设备MODBUS起始地址为0,对应的PLC MODBUS起始地址是1,因此后续对应地址都需要加一。

6.3、地址减一:例如:设备MODBUS地址:1~9000;PLC MODBUS地址:40000~49999

这种情况你要读取的设备目标地址在程序中红框位置地址需要减一,即设备目标地址为35则程序中红框位置地址为34。原因是设备MODBUS起始地址为1,对应的PLC MODBUS起始地址是0,因此后续对应地址都需要减一。

图片


展开全文
商铺首页 拨打电话 QQ联系 发送询价