西门子DP通讯电缆6XV1830-OEH1O西门子总代理 西门子中国代理商
西门子DP通讯电缆6XV1830-OEH1O西门子总代理 西门子中国代理商
西门子DP通讯电缆6XV1830-OEH1O西门子总代理 西门子中国代理商
西门子S7,PLC移位寄存器指令(SHRB)
说明:(1)移位寄存器指令SHRB将DATA数值移入移位寄存器。梯形图中,EN为使能输入端,连接移位脉冲信号,每次使能有效时,整个移位寄存器移动1位。DATA为数据输入端,连接移入移位寄存器的二进制数值,执行指令时将该位的值移入寄存器。S_BIT指定移位寄存器的Zui低位。N指定移位寄存器的长度和移位方向,移位寄存器的Zui大长度为64位,N为正值表示左移位,输入数据(DATA)移入移位寄存器的Zui低位(S_BIT),并移出移位寄存器的Zui高位。移出的数据被放置在溢出内存位(SM1.1)中。N为负值表示右移位,输入数据移入移位寄存器的Zui高位中,并移出Zui低位(S_BIT)。移出的数据被放置在溢出内存位(SM1.1)中。
(2)DATA和S-BIT的操作数为I,Q,M,SM,T,C,V,S,L。数据类型为:BOOL变量。N的操作数为VB,IB,QB,MB,SB,SMB,LB,AC,常量。数据类型为:字节。
(3)使ENO=0的错误条件:0006(间接地址),0091(操作数超出范围),0092(计数区错误)。
(4)移位指令影响特殊内部标志位:SM1.1(为移出的位值设置溢出位)。
本文章会详细介绍西门子S7-200smart PLC与smartline触摸屏进行modbusrtu通讯连接的步骤。
一、 硬件连接1. smartline触摸屏485端口脚位定义
如图1所示。
图1
2. 200smart PLC485端口脚位定义
1) 200smartPLC本体端口
200smartPLC选择可以选择CPU 集成的 RS485 通信端口和标准型 CPU 额外支持 SBCM01 信号板。CPU 集成的 RS485 通信端口的引脚分配如图2所示,CPU 额外支持 SBCM01 信号板
图2
2) 200smart 信号板
标准型 CPU 额外支持 SBCM01 信号板,该信号板可以通过 STEP7-Micro/WINSMART 软件组态为 RS485 通信端口或者 RS232 通信端口。SBCM01 信号板的引脚分配,如图3 所示。
图3
3. PLC与触摸屏连接
1) CPU 集成的 RS485 通信端口与触摸屏连接
PLC端口引脚3连接触摸屏端口引脚3,PLC端口引脚8连接触摸屏端口引脚8,如图4所示。
2) SBCM01 信号板与触摸屏连接
SBCM01 信号板Tx/B连接触摸屏COM2[RS-485]2W端口引脚3,SBCM01 信号板Rx/A连接触摸屏COM2[RS-485]2W端口引脚8,如图4所示。
本文章为200smart PLC本体端口进行通讯连接,
smart line触摸屏
200smart PLC本体端口
200smart plc信号板端口
485端口引脚3
485端口引脚3
485引脚2
485端口引脚8
485端口引脚8
485引脚5
图4
二、 WinCCflexibleSMART软件设置1. 通讯参数设置
1) 打开WinCCflexibleSMART软件在文件菜单栏中新建项目选择Smart 700IEV3这款触摸屏,如图5所示;
图5
2) 在项目栏中的通讯—连接,进行通讯参数设置,modbusrtu通讯可以有三种选项,如图6所示。
注意:200smart plc与smartline触摸屏连接要勾选“更改 word order”。
图6
3) 变量建立
建立PLC连接变量,如图7所示。
图7
200smart PLC的MODBUSRTU 地址如下所示:
u 对于离散量输出(线圈),为 00001 至 09999
u 对于离散量输入(触点),为 10001 至 19999
u 对于输入寄存器,为 30001 至 39999
u 对于保持寄存器,为 40001 至 49999 和 400001 至 465535
注意:200smart编程从站保持寄存器是从VW0开始(与程序编程有关系,后续编程部分会介绍),400001为VW0。
2. 组态编写
通过工具栏选择圆、文本域、IO域编辑组态,如图8所示,根据下列组态步骤组态程序。
图8
1) 指示灯组态
组态如图9所示。
图9
2) 16位无符号整数组态
组态如图10所示。
图10
3) 32位无符号整数组态
组态如图11所示。
图11
4) 32位浮点数
组态如图12所示。
图12
3. Smartline- IE V3 项目下载:
参照附件《smart v3面板常见问题集》中的项目下载,如图13所示。
‘
图13
打开STEP 7-MicroWINSMART 软件中找到modbusrtu从站库,编写modbusrtu从站程序,如图14所示。需要注意给库存储区分配地址,在程序块中的库右键选择库存储区分配,如图15所示。程序编写好下载到plc中,plc切换至运行模式。
图14
“模式”(Mode) 输入的值用于选择通信协议:输入值为 1 时,分配 Modbus 协议并启用该协议;输入值为 0 时,分配 PPI 协议并禁用 Modbus 协议。
参数“地址”(Addr) 将地址设置为 1 至 247 之间(包括边界)的值。
参数“波特”(Baud) 将波特率设置为 1200、2400、4800、9600、19200、38400、57600 或 115200。
参数“奇偶校验”(Parity) 应设置为与 Modbus 主站的奇偶验校相匹配。所有设置使用一个停止位。接受的值如下:0(无奇偶校验)、1(奇校验)和 2(偶校验)。
参数“端口”(Port) 设置物理通信端口(0=CPU 中集成的 RS-485,1= 可选信号板上的 RS-485 或 RS-232)。
参数“延时”(Delay) 通过使标准 Modbus 信息超时时间增加分配的毫秒数来延迟标准 Modbus 信息结束超时条件。在有线网络上运行时,该参数的典型值应为 0。如果使用具有纠错功能的调制解调器,则将延时设置为 50 至 100ms 之间的值。如果使用扩频无线通信,则将延时设置为 10 至 100ms 之间的值。“延时”(Delay) 值可以是 0 至 32767ms。
参数 MaxIQ 用于设置 Modbus 地址 0xxxx 和 1xxxx 可用的 I 和 Q 点数,取值范围是 0 至 256。值为 0 时,将禁用所有对输入和输出的读写操作。建议将 MaxIQ 值设置为 256。
参数 MaxAI 用于设置 Modbus 地址 3xxxx 可用的字输入 (AI) 寄存器数,取值范围是 0 至 56。值为 0 时,将禁止读取模拟量输入。建议将 MaxAI 设置为以下值,以允许访问所有 CPU 模拟量输入:
u 0(用于 CPUCR20s、CR30s、CR40s 和 CR60s)
u 56(所有其它 CPU 型号)
参数 MaxHold 用于设置 Modbus 地址 4xxxx 或 4yyyyy 可访问的 V 存储器中的字保持寄存器数。例如,如果要允许 Modbus 主站访问 2000 个字节的 V 存储器,请将 MaxHold 的值设置为 1000 个字(保持寄存器)。
参数 HoldStart 是 V 存储器中保持寄存器的起始地址。该值通常设置为 VB0,参数 HoldStart 设置为 &VB0(地址 VB0)。也可将其它 V 存储器地址指定为保持寄存器的起始地址,以便在项目中的其它位置使用 VB0。Modbus 主站可访问起始地址为 HoldStart,字数为 MaxHold 的 V 存储器。
MBUS_INIT 指令完成时,“完成”(Done) 输出接通。
图15
如图16所示,触摸屏与