6SL3210-1KE15-8UF2现货西门子代理
- 供应商
- 湖南西控自动化设备有限公司
- 认证
- 西门子
- G120C
- 变频器
- 2.2KW标准版
- 德国
- 3AC 380-480V
- 手机号
- 17838383235
- 经理
- 徐嘉泉
- 所在地
- 中国(湖南)自由贸易试验区长沙片区开元东路1306号开阳智能制造产业园(一期)4#栋301
- 更新时间
- 2024-09-22 08:50
本文是一篇综合性非常强的文章,从plc输入输出及步进电机接线开始,到plc运动控制程序编写,再到后续的modbustcp通信协议及上位机编程实现终控制,涉及知识面比较广,能够让我们很好地将所学知识结合起来。
2. 项目开发平台采用西门子tia portal v15编程软件编写运动控制程序,实现plc(s7-1200系列:cpu1214cdc/dc/dc )对步进电机的控制,再通过编写modbustcp程序,将控制地址进行映射,从而方便上位机(vs2019开发)与plc进行通信,终实现步进电机的运动方向、速度及距离的灵活控制。
涉及硬件:开关电源、s7-1200plc、步进驱动器、步进电机、单轴模组、限位开关
涉及软件:tia portal v15、vs2019、modbuspoll(用于测试通信)
目前比较主流开发上位机的方式,主要是组态软件(触摸屏)、c#开发上位机,c#开发上位机与传统的组态软件之间的区别,主要体现在如下三个方面:
采用c#上位机开发,首先需要考虑的是通信问题。西门子s7-1200支持很多种不同的通信协议,包括s7、modbustcp、tcp/ip、udp、opc等,从开发成本上来说,我们优先考虑s7和modbustcp,对于s7和modbustcp通信协议,比较一下两者的优缺点:
s7协议为西门子内部协议,协议本身不公开,需要调用或者自己开发通信库,使用s7通信协议需要勾选cpu中的允许来自远程对象的put/get通信访问。modbustcp为公开、免费协议,可以自己开发通信库或者使用开源库,使用modbustcp通信协议需要编写一定的plc程序来实现地址映射。从公开免费和使用范围的角度来考虑,这里采用modbustcp通信协议,因为学会了modbustcp,意味着市场上的大部分仪表、plc通信都可以搞得定,plc程序编写如下如下所示:
创建db块
这里首先创建一个db块,里面包含了常用的一些操作和参数设置,值得注意的是,由于modbus保持型寄存器的bit位操作比较麻烦,因此这里我们统一使用word类型来代替bit。
modbustcp通信库
上位机开发功能实现的核心在于modbustcp通信库编写,由于modbus协议是公开免费,可以自己根据modbus协议来开发,也可以使用开源的modbus库,如nmodbus等,有了modbustcp通信库之后,我们可以将更多的精力放在业务处理及逻辑处理上面。
6. 上位机功能开发首先创建一个windows窗体应用项目,项目名称为thinger.com.motionpro。日志显示功能:日志显示采用listview进行显示,绑定一个imagelist用来区分信息、报警、错误,添加日志方法的参数包含日志等级及日志内容。自己开发modbustcp通信库或者使用开源库,该库应该具备建立连接、断开连接、预置寄存器、读取寄存器的功能。建立连接和断开连接:这里通过按钮实现建立连接和断开连接2个功能。相对位置运动:设置相对运动速度和相对运动位置,实现电机的相对运动。位置运动:设置运动速度和运动位置,实现电机的相对运动。点动运动模式:设置点动运动速度,按住正向点动或者反向点动,实现电机的点动运动。回原点模式:点击回原点,可以控制物体回到原点位置并停止。运动停止、运动暂停、复位相关功能。7. 写在后这个项目整体来说难度不是很大,但是涉及的知识面比较广,非常适合上位机初学者进行学习和练手。
展开全文