求S7-200与ACS510MODBUS通讯例程

小弟有个S7-200控制ACS510变频器的项目,拟采用modbus通讯,但手上尚无实物,想先学习下PLC程序如何实现与变频器通讯的,比如读取电流、写入频率等。不知哪位大哥手上有相关例程,如能慷慨邮之,不胜感激!!!

最佳答案

变频器与plc配套应用是常见的自动化集成系统。由plc发出启动、停止、运行频率等指令,来控制变频器的运转及频率输出,达到控制生产过程自动化目的。基于串行通讯的变频器与plc集成技术具有的优点得到广泛的工程重视。本文介绍三菱变频器f700与西门子plc s7-200在自由口模式下的串行通信,达到plc对变频器的便捷控制。

2  变频器与plc的连接

       plc s7-200与三菱变频器通信采用rs485接口的串行方式。s7-200侧为九针接口,三菱变频器为rs485端子,采用二线式连接。

3  通讯系统设计

3.1 plc的自由口通信模式

       s7-200支持自由口通信模式。自由口模式使s7-200可以与许多通信协议公开的其他设备和控制器进行通信。波特率为1200~115200 b/s(可调整)。

       自由口模式的数据字节格式总是有一个起始位、一个停止位,用户可以选择7位或者8位数据,也可以选择是否有校验位以及是奇校验还是偶校验。

       在自由口模式下,通过使用发送中断、接收中断、发送指令(xmt)和接收指令(rcv),为所有通信活动编程。在自由口模式下,通信协议完全由用户程序控制。

3.2 三菱变频器专用协议

       在自由口模式下,plc与变频器通信遵循三菱变频器专用协议。首先,按照变频器通讯规格对变频器参数进行设置(具体参照变频器手册)。其次通信采用以下步骤:

       向变频器发送要求数据(变频器不会自动发送数据),经变频器等待时间后,从变频器向plc发送返回数据,等待变频器处理事件后,进行再处理。plc与变频器通信以ascii码(16进制)进行。plc对变频器进行运行状态监控、运行频率设置、启动、停止等操作。这些数据的收发采用不同的数据模式。如运行频率采用附表所示数据模式。

4  自由口通信编程设计

       下面用实例来介绍自由口模式下的通信,plc向变频器发送20hz频率。(要使频率写入有效,开始时plc先向变频器发送“写入”指令,命令代码‘fb’。)

       主程序:

       网络1:

       ld  sm0.1 //初始化

       movb 16#09, smb130  //端口1自由口模式,波特率9600,每个字符8位,无校验

       movb 16#b0, smb187 //写接收指令控制字,允许rcv,检测信息结束字符、空闲线起始条件

       movb 16#0d, smb189 //设置信息结束字符为16#0d(回车符)

       movw +5, smw190 //设置空闲线检测时间间隔为5ms

       movb 100, smb194 //设置最大字符数为100

       网络2:

       ld     sm0.0

       movb 16#0d, vb100 //发送数据字符数为13

       movb 16#05, vb101 //通讯要求

       movb 16#30, vb102 //变频器站号01

       movb 16#31, vb103 

       movb 16#44, vb104 //频率写入命令代码

       movb 16#44, vb105

       movb 16#31, vb106 //等待时间1×10ms

       movb 16#32, vb107 //发送频率20hz

       movb 16#30, vb108

       movb 16#30, vb109

       movb 16#30, vb110

       movb 16#44, vb111 //求和校验码de

       movb 16#45, vb112

       movb 16#0d, vb113 //结束字符

       movb 0, mb10

       网络3:

       ld sm0.0

       atch int_0:int0, 26 //端口1发送完中断,连接到中断0

       atch int_2:int2, 24 //端口1接收完中断,连接到中断2

       eni  //允许中断

       网络4:

       ld sm0.0

       r sm187.7, 1 //禁止接收(避免接收发送冲突)

       rcv vb149, 1

       xmt vb100, 1  //开始发送

       中断程序0:

       网络1:

       ld sm0.0

       movb 5, smb35

       atch int_1:int1, 11 //定时中断到中断1

       中断程序1:

       网络1:

       ld sm0.0

       dtch 11

       s sm187.7, 1 //允许接收

       rcv vb149, 1 //开始接收

       中断程序2:

       网络1:

       ld sm0.0

       incb mb10 //每发送接收完一次mb10加1

       ab= mb10, 3               //当超过3次,退出不再发送

       creti

       网络2:

       ldb= smb186, 16#20 //接收无误条件下

       ab=  vb150, 16#06  //接收数据无错误,退出

       creti

       not  //否则,再发送

       r sm187.7, 1

       rcv vb149, 1

       xmt vb100, 1

参考资料:http://info.plchr.cn/index.php/article/plchr/2009-04-18/5172.html 

提问者对于答案的评价:
多谢各位的热心回复,都对我帮助颇大,分只能给一个,比较之下还是给三菱变频通讯这位老兄了,谢谢大家

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午4:07
下一篇 2020年11月1日 下午4:07

相关推荐

  • 在win7上面安装sp9安装不上,谁有直接安装版的

    在win7上面安装sp9安装不上,谁有直接安装版的下载地址,打开可以直接安装 最佳答案 SP9没有直接安装的,建议你先安装STEP7-MicroWIN_V40_SP8的直接安装包,…

    SIMATIC S7-200 2020年10月31日
  • 请教S7-200端口和电脑端口同时被烧原因

    一个项目:配置CPU222+OPC+WinCC flexible,作简单的4开关量和4模拟量监控。出厂前测试一切正常。到现场后操作人员发现电脑操作不动作,和PLC连接不上…

    SIMATIC S7-200 2017年8月18日
  • S7-200SMART 定时器中断SMB34的值是否可以用变量表示并可以修改?

    S7-200SMART 定时器中断SMB34的值是否可以用变量表示并可以修改?现在用定时中断在Q0.0上输出方波,方波的长度需要不断修改,比如现在的周期是100MS&nb…

    SIMATIC S7-200 2021年7月5日
  • 模拟量输出修正算法

    各位朋友,我想咨询一个某个模拟量输出的测距传感器到西门子PLC,经常会出现需要修正算法,不然误差很大?请问算法修正是什么原因?你们经常遇到吗?谢谢! 最佳答案 1、对模拟量输入信号…

    SIMATIC S7-200 2017年6月4日
  • S7-200的通讯

    S7-200通讯的奇校验、偶校验分别用在什么地方,他们的区别是啥子 最佳答案 奇偶校验用在数据传送里。数据传送时,最后一位为奇偶校验位。收发上方事先已经约定好进行奇校验还是偶校验。…

    SIMATIC S7-200 2021年7月5日
  • 我想用一个外部开关启动一次记一次数,然后用于其它运算,应该用什么指令?

    我想用一个外部开关启动一次记一次数,然后用于其它运算,应该用什么指令?为什么我用递增指令总是显示一个数而不累计呢? 最佳答案 利用上升沿脉冲 IPI 输入信号,…

    SIMATIC S7-200 2020年11月1日
  • S7-200控制伺服回零问题

    请问大家,用S7-200控制伺服回零,利用MAP指令库,在原点附近寻零和在离原点很远处寻零,感觉位置不一样啊,请问大家一般用什么方法寻零,可以让位置可以稳定些啊。麻烦大家讲讲啊,谢…

    SIMATIC S7-200 2017年12月7日
  • MODBUS通讯口

    我想要增加modbus通讯口,不知道西门子有没有专用的模块? 最佳答案 1、200CPU自带的485口是支持modbus通信的,用库程序来做就行。2、一个通信口可以通过轮询的方式与…

    SIMATIC S7-200 2017年11月6日
  • 传感器供电

    两个电气柜内分别有两个PLC1,PLC2,各自独立24V电源块供电请问24VDC的传感器(NPN)和PLC1共用24V电源,并输入到PLC1,能同时接到PLC2输入端吗?PLC输入…

    SIMATIC S7-200 2020年11月5日
  • S7-200PLC 设备排序

    20台设备每台设备有一个设备编号寄存器vw存储设备编号,有一个数据寄存器vd,数据为32位,要根据数据寄存器vd的数据大小,从小到大排列20台设备编号和数据 最佳答案 参考:htt…

    SIMATIC S7-200 2017年5月31日