西门子PLC与变频器的通信

今天在网上终于找到了有关PLC与变频器通信,我要发送一个数据到变频器的参数P001,这些址和数据地址要放在哪里了,但对里面的CRC校验数据有点不明白,我要发送1到P001的话,1就是放在数据地址里,P001就是放在被写地址里,那CRC又不是我想要的,这是通信时要校验发送数据是不是正确的一个程序,这个校验码哪里来啊,还有这个被写地址的高位是P还是P0被写地址的低位是001还是01?对
 PLC内存使用说明
 西门子S7-200系列PLC的自由通讯端口编程必定会用到两个指令,即XMT(发送)指令和RCV(接收)指令。编写程序时需要为这两个指令指定数据缓冲区,一般以最低位数为0的地址作为数据缓冲区的起始地址。
     1.发送指令XMT缓冲区(写/读)
 VB100        //xmt指令要发送的字节个数
 VB101        //变频器通讯地址(01)
 VB102        //modbus功能码(06/03)
 VB103        //变频器被写地址高位/变频器被读起始地址高位
 VB104        //变频器被写地址低位/变频器被读起始地址低位
 VB105        //被写数据高位/被读数据字个数高位
 VB106        //被写数据低位/被读数据字个数低位
 VB107        //被发送数据CRC低位
 VB108        //被发送数据CRC高位
 2.接收指令RCV缓冲区
 VB200        //rcv指令要接收的字节个数
 VB201        //变频器地址(01)
 VB202        //modbus功能码(06/03)
 VB203        //变频器被写地址高位/被读数据字节个数高位
 VB204        //变频器被写地址低位/被读数据字节个数低位
 VB205        //被写数据高位/被读数据高位
 VB206        //被写数据低位/被读数据低位
 VB207        //被接收数据CRC低位
 VB208        //被接收数据CRC高位
 VB217       //被接收数据CRC验算低位
 VB218       //被接收数据CRC验算高位
 

最佳答案

既然是modbus协议,我建议你在plc编程前,先使用modscan软件测试与变频器的通讯,并可以从modscan软件中读出报文内容和格式。然后在200软件的数据块中添加已获得的规则化的报文,发送即可。注:调试modbus协议必须配有modscan软件和串口调试软件,这两软件可以使协议报文更加明郎,提高工程师工作效率。另,可加1093079077进一步详谈lcr、crc校验方式。

 modbus协议的RTU模式的校验使用CRC校验。
 生成CRC-16校验字节的步骤如下:
 ①如一个16位寄存器,所有数字均为1。
 ②该16位寄存器的低位字节与开始8位字节(报文的第一个字节)进行“异或”运算。运算结果放入这个16位寄存器。
 ③把这个16寄存器向右移一位。
 ④若向右(标记位)移出的数字是1,则生成多项式1010000000000001和这个寄存器进行“异或”运算;若向右移出的数位是
 0,则返回③。
 ⑤重复③和④,直至移出8位。
 ⑥另外8位(报文接下来的下一个字节)与该十六位寄存器进行“异或”运算。
 ⑦重复③~⑥,直至该报文所有字节均与16位寄存器进行“异或”运算,并移位8次。
 ⑧这个16位寄存器的内容即2字节CRC错误校验,被加到报文的最高有效位。
 CRC添加到消息中时,低字节先加入,然后高字节。

 再次强调:调试modbus协议最好配有modscan软件和串口调试软件,这两软件可以使协议报文更加明郎,提高工程师工作效率。

提问者对于答案的评价:
谢谢你了,

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc345740.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日 下午10:45
下一篇 2021年7月4日

相关推荐

  • s7-200作为MODBUS通讯协议的从站的问题?

    现在需要和ABB用modbus通讯,s7-200作为从站.我用教程从站的程序和测试软件没测试成功,请教各位大侠帮助!!!急!!! 最佳答案 在你测试过程出现那些现象没有?还是你的通…

    SIMATIC S7-200 2021年7月4日
  • S7-200及模拟量模块选型问题求助!

    需要改造一台空压机,PLC选200的,模拟量有三个输入点,一个是压力的,另外两个是温度的,还有一个通讯模块与西门子的触摸屏连接,屏的型号我忘记了,但他的通讯接口好像是profibu…

    SIMATIC S7-200 2021年7月5日
  • 三菱一个特殊功能单元或特殊功能模块占用8个点或者更多那么西门子是什么情况呢?

    三菱一个特殊功能单元或特殊功能模块占用8个点或者更多那么西门子是什么情况呢? 西门子是不是模拟量地址不占用数字量的地址? 最佳答案 楼上几位的都说错了 。&nb…

    SIMATIC S7-200 2017年12月7日
  • 求最新版本s7-200smart编程软件 和logo编程软件

    找了半天没找到编程软件   要中文版的 钻石用户推荐最佳答案 1、SMART 200STEP 7 MicroWIN&nb…

    2021年7月5日
  • step7micro/win中变量前面的“*”和“&”是什么意思

    请详细讲一下。 还有什么别的符号? 最佳答案 在使用间接寻址时用的。 要使用间接寻址,应该用“&”符号加上要访问的存储区地址来建立一个指针。指令的输入操…

    SIMATIC S7-200 2021年7月4日
  • PTO运动包络

    遇到个问题,新设备使用了PTO运动包络,下载程序后,怎么才能看到PTO运动包络的具体参数呢?初学. 最佳答案 请参考:《s7-200速度包络的建立》http://wenku.bai…

    SIMATIC S7-200 2021年7月5日
  • SMART 控制一台伺服

    我现在也在做一个项目,用smart控制一台三菱MR-JE-200A伺服,控制一台小车:第一次从A点前进移动到B点接收一个工件,再从B点返回到A点,完成之后,在由A点移动到B点,接收…

    SIMATIC S7-200 2021年7月5日
  • 自由口通讯遇到麻烦

    我用的是224XP,一个口和单片机通讯,一个和上位机通讯。现在的情况是PLC可以发射出去命令,但在“程序状态监控”时PLC程序是发现程序里面的局部变量的数值没有见了!请问各位大虾是…

    SIMATIC S7-200 2021年7月4日
  • s7 200的USB电缆

    我的本本没有串口,用原装的RS232-PPI电缆加USB-RS232的转换器怎么也连不上,请问有没有西门子200原装的USB编程电缆?以及现场调试如何解决? 最佳答案 USB-RS…

    SIMATIC S7-200 2021年7月4日
  • 数据丢失

    数据存储区随时间久丢失后!我想利用sm状态点来检测是否丢失,请问是哪个sm点。谢谢! 最佳答案 SM0.2,它表示如果断电保存的数据丢失,此位在一个扫描周期中为1.可用作错误存储器…

    SIMATIC S7-200 2020年11月1日

发表回复

登录后才能评论