产品描述
西门子湘潭PLC模块总代理
功能码作用
启动Modbus事务处理的客户机创建Modbus应用数据单元。功能码(PDU中的)向服务器指示将执行哪种操作?
用一个字节编码Modbus数据单元的功能码域。有效范围是十制制1-255(128-255为异常响应保留)。当从客户机向服务器发送报文时,功能码域通过服务器执行哪种操作?
从客户机向服务器发送的报文数据域包括附加信息,服务器使用这个信息执行功能码定义的操作。这个域还包括离散项目和寄存器地址、处理项目的数量以及域中的实际数据字节数。
在某种请求中,数据域可以是不存在的,在此情况下服务器不需要任何附加信息。功能码仅说明操作。
功能码的类型
功能码主要分为有效功能码、异常功能码和错误功能码。
如果在一个正确接收Modbus ADU中,不出现与请求Modbus功能有关的差错,那么服务器至客户机的响应数据会包含请求中的正常功能码。如果出现与请求Modbus功能有关的差错,那么响应数据会包含一个异常码和错误码。
例如,客户机能够读一组离散量输出或输入的开/关状态,或者用户能够读/写一组寄存器数据内容。当服务器对客户机响应时,它使用功能码域来指示正常(无差错)响应或出现某种差错(称为异常响应)。对于一个正常响应来说,服务器仅对原始功能码响应。
对于异常响应,服务器返回一个与客户机等同的码,设置该原始功能码的较高有效位为逻辑1,并加该异常码后增加错误码,以通知客户机异常原因。
有效功能码
有效功能码有二十几种,但是一般使用上都以1、2、3、4、5、6、15、16等八种较为常用,以及另外特殊使用的20、21两种,此为General Reference Register,绝大部份的Modbus设备并不会提供此Register。于PLC上主要的控制数据有下列四种型式。此八种功能码就是处理这些控制资料,详细说明如下各点:
控制数据四种型式:
DI:DigitalInput(数字输入,离散输入),一个地址一个数据位,用户只能读取它的状态,不能修改。以一个 bit表示 On/Off,用来记录控制信号的状态输入,例如:开关,接触点,马达运转,**限switch等。于PLC上被称为Input relay、input coil等。
DO:DigitalOutput(数字输出,线圈输出),一个一个数据位,用户可以置位、复位,可以回读状态。以一个 bit表示 On/Off,用来输出控制信号,以激活或停止马达,警铃,灯光等。于PLC上被称为Output relay、Output coil等。
AI:Analog Input(模拟输入,输入寄存器),一个地址16位数据,用户只能读,不能修改,,以16 bits integer表示一个数值,用来记录控制信号的数值输入,例如:温度、流量、料量、速度、转速、文件板开度、液位、重量等。于PLC上被称为Input register。
AO:AnalogOutput(模拟输出,保持寄存器),一个地址16位数据,用户可以写,也可以回读,以16 bits integer表示一个数值,用来输出控制信号的数值,例如:温度、流量、速度、转速、文件板开度、饲料量等设定值。于PLC上被称为Output register、Holding register
谈到指令,大家应该都知道,有人问西门子plc设置密码了怎么办,事实上西门子plc传送指令实例,这到底是咋回事?其实西门子plc shl指令呢,今天小编整理了西门子plc功能指令一览表,下面就和大家分享一下吧
西门子plc功能指令一览表
1 位逻辑指令
1.1 位逻辑指令概述
1.2 -||- 常开接点(地址)
1.3 -|/|-常闭接点(地址)
1.4 XOR位异或
1.5 -|NOT|- 信号流反向
1.6 -( ) 输出线圈
1.7 -(#)- 中间输出
1.8 -(R) 线圈复位
1.9 -(S) 线圈置位
1.10 RS复位置位触发器
1.11 RS置位复位触发器
1.12 -(N)-RLO下降沿检测
1.13 -(P)-PLO上升沿检测
1.14 -(SAVE) 将RLO存入BR存储器
1.15 MEG地址下降沿检测
1.16 POS地址上升沿检测
1.17 立即读操作
1.18 立即写操作
2 比较指令
2.1 比较指令概述
2.2 CMP?I整数比较
2.3 CMP?D双整数比较
2.4 CMP?R实数比较
3 转换指令
3.1 转换指令概述
3.2 BCD_IBCD码转换为整数
3.3 I_BCD整数转换为BCD码
3.4 I_DINT整数转换为双整数
3.5 BCD_DIBCD码转换为双整数
3.6 DI_BCD双整数转换为BCD码
3.7 DI_REAL双整数转换为浮点数
3.8 INV_I整数的二进制反码
3.9 INV_DI双整数的二进制反码
3.10 NEG_I整数的二进制补码
3.11 NEG_DI双整数的二进制补码
3.12 NEG_R浮点数求反
3.13 ROUND舍入为双整数
3.14 TRUNC舍去小数取整为双整数
* CEIL上取整
3.16 FLOOR下取整
4 计数器指令
4.1 计数器指令概述
4.2 S_CUD加减计数
4.3 S_CU加计数器
4.4 S_CD减计数器
4.5 -(SC)计数器置初值
4.6 -(CU)加计数器线圈
4.7 -(CD)减计数器线圈
5 数据块指令
5.1 -(OPN)打开数据块:DB或DI
6 逻辑控制指令
6.1 逻辑控制指令概述
6.2 -(JMP)- 无条件跳转
6.3 -(JMP)- 条件跳转
6.4 -(JMPN)- 若非则跳转
6.5 LABEL标号
7 整数算术运算指令
7.1 整数算术运算指令概述
7.2 判断整数算术运算指令后状态字的位
7.3 ADD_I 整数加法
7.4 SUB_I 整数减法
7.5 MUL_I 整数乘法
7.6 DIV_I 整数除法
7.7 ADD_DI 双整数加法
7.8 SUB_DI 双整数减法
7.9 MUL_DI 双整数乘法
7.10 DIV_DI 双整数除法
7.11 MOD_DI 回送余数的双整数
8 浮点算术运算指令
8.1 浮点算术运算指令概述
8.2 判断浮点算术运算指令后状态字的位
8.3 基础指令
8.3.1 ADD_R实数加法
8.3.2SUB_R实数减法
8.3.3MUL_R实数乘法
8.3.4DIV_R实数除法
8.3.5 ABS浮点数**值运算
8.4 扩展指令
8.4.1SQR浮点数平方
8.4.2SQRT浮点数平方根
8.4.3EXP浮点数指数运算
8.4.4LN浮点数自然对数运算
8.4.5SIN浮点数正弦运算
8.4.6COS浮点数余弦运算
8.4.7TAN浮点数正切运算
8.4.8 ASIN浮点数反正弦运算
8.4.9 ACOS浮点数反余弦运算
8.4.10ATAN浮点数反正切运算
9 赋值指令
9.1 MOVE赋值
10 程序控制指令
10.1 程序控制指令概述
10.2 -(Call)从线圈调用FC/SFC(无参数)
10.3 CALL_FB从方块调用FB
10.4 CALL_FC从方块调用FC
10.5 CALL_SFB从方块调用SFB
10.6 CALL_SFC从方块调用SFC
10.7 调用多北京块
10.8 从库中调用块
10.9 使用MCR功能的重要注意事项
10.10-(MCR<)主控继电器接通
10.11-(MCR>)主控继电器断开
10.12 -(MCRA)主控继电器启动
10.13 -(MCRD)主控继电器停止
10.14 -(RET)返回
11 移位和循环指令
11.1 移位指令
11.1.1 移位指令概述
11.1.2 SHR_I整数右移
11.1.3 SHR_DI双整数右移
11.1.4 SHL_W字左移
11.1.5 SHR_W字右移
11.1.6 SHL_DW双字左移
11.1.7 SHR_DW双字右移
11.2 循环指令
11.2.1 循环指令概述
11.2.2 ROL_DW双字左循环
11.2.3 ROR_DW双字右循环
12 状态位指令
12.1 状态位指令概述
12.2 OV -||- 溢出异常位
12.3 OS -||- 存储溢出异常位
12.4 UO -||- 无序异常位
12.5 BR -||- 异常位二进制结果
12.6 ==0-||- 结果位等于"0"
12.7 <>0-||- 结果位不等于"0"
12.8 >0-||- 结果位大于"0"
12.9 <0-||- 结果位小于"0"
12.10 >=0-||- 结果位大于等于"0"
12.11 <=0-||- 结果位小于等于"0"
13 定时器指令
13.1 定时器指令概述
13.2 存储区中定时器的存储单元和定时器的组成部分
13.3 S_PULSE脉冲S5定时器
13.4 S_PEXT扩展脉冲S5定时器
13.5 S_ODT接通延时S5定时器
13.6 S_ODTS保持型接通延时S5定时器
13.7 S_OFFDT断电延时S5定时器
13.8 -(SP)脉冲定时器线圈
13.9 -(SE)扩展脉冲定时器线圈
13.10 -(SD)接通延时定时器线圈
13.11 -(SS)保持型接通延时定时器线圈
13.12 -(SF)断开延时定时器线圈
14 字逻辑指令
14.1 字逻辑指令概述
14.2 WAND_W字和字相"与"
14.3 WOR_W字和字相"或"
14.4 WAND_DW双字和双字相"与"
14.5 WOR_DW双字和双字相"或"
14.6 WXOR_W字和字相"异或"
14.7 WXOR_DW双字和双字相"异或
在指令盒中双击你想要了解的功能块,
产品推荐