西门子镇江PLC模块授权代理商
这个过程一直重复8次。第8次移位后,下一个8位再与现在寄存器的内容相相异或,这个过程与以上一样重复8次。当所有的数据信息处理完后,*后寄存器的内容即为CRC码值。CRC码中的数据发送、接收时低字节在前。
计算CRC码的步骤为:
预置16位寄存器为十六进制FFFF(即全为1)。称此寄存器为CRC寄存器;
把第一个8位数据与16位CRC寄存器的低位相异或,把结果放于CRC寄存器;
把寄存器的内容右移一位(朝低位),用0填补*高位,检查位;
如果位为0:重复第3步(移位); 如果位为1:CRC寄存器与多项式A001(1010 0000 0000 0001)进行异或;
重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理;
重复步骤2到步骤5,进行下一个8位数据的处理;
*后得到的CRC寄存器即为CRC码。
3.功能码03,读取点和返回值:
仪表采用Modbus RTU通讯规约,利用通讯命令,可以进行读取点(“保持寄存器") 或返回值(“输入寄存器" )的操作。保持和输入寄存器都是16位(2字节)值,并且高位在前。这样用于仪表的读取点和返回值都是2字节。一次*多可读取寄存器数是60。由于一些可编程控制器不用功能码03,功能码03被用作读取点和返回值。从机响应的命令格式是从机地址、功能码、数据区及CRC码。数据区中的寄存器数据都是每两个字节高字节在前。
4.功能码06,单点保存
主机利用这条命令把单点数据保存到仪表的存储器。从机也用这个功能码向主机返送信息
硬件及软件列表
设备名称 | 设备型号 |
PS 307 | 6ES7 307-1EA00-0AA0 |
CPU 315-2DP | 6ES7 315-2AG10-0AB0 |
MMC | 6ES7 953-8LG11-0AA0 |
CP341 | 6ES7 341-1AH01-0AE0 |
Dongle | 6ES7 870-1AA01-0YA0 |
将Dongle插入CP341中,Dongle和插入Dongle前后的CP341如下图所示。
图1
注意:STEP7V5.X软件上,必须安装如下软件包才可进行后续的组态配置
西门子DP接头6ES7972-OBA12-OXAO
1.1本例程的系统配置
1) 安装Micro/Win software以及 Modbus协议库, 西门子在 Micro/WIN V4.0 SP5中正式推出Modbus RTU 主站协议库。
2) PC/PPI电缆或CP5512、S7-200(如CPU 224XP)、电源模块、通信电缆
3) CU230P-2 HVCA 、PM240以及PC机
1.2在创建项目前,确认Modbus Master库文件已经安装
图 1
2 创建一个例程
2.1设置通讯接口
选择适合自己的通讯接口,本例程使用CP5512(PPI)。
图 2
2.2建立PC和PLC的连接
图 3
“双击刷新"找到PLC后,点击“确认"。
2.3用电缆将CU230P-2 HVCA Modbus通讯接口与PLC连接起来(注:接线规则2对3;3对8;前面的数字是CU230P-2HVCA的通讯端子号,后面的是PLC通讯端口的针号)。