江苏省扬州市西门子办事处---华东Siemens(授权)总代理

江苏省扬州市西门子办事处---华东Siemens(授权)总代理

发布商家
广东湘恒智能科技有限公司
联系人
董海波(先生)
电话
13510737515
手机
13185520415
微信
13185520415
西门子PLC
西门子伺服电机
西门子触摸屏
西门子电缆
西门子变频器
西门子模块
5. 上位机开发思路

目前比较主流开发上位机的方式,主要是组态软件(触摸屏)、C#开发上位机,C#开发上位机与传统的组态软件之间的区别,主要体现在如下三个方面:

功能限制:组态软件对于一些特定的需求或者逻辑,会有一定的局限性,使用上也受到软件本身的约束;C#开发上位机完全自主开发,几乎不存在功能上的限制,并且扩展方便。
技术要求:组态软件最大的优势在于方便,因为它本身都集成了一些通用协议和元件,只需要按照使用说明进行组态配置即可;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。

Modbus地址与PLC地址的映射(控制位)Modbus地址与PLC地址的映射(参数地址)ModbusServer程序编写上位机UI界面设计

ModbusTCP通信库

上位机开发功能实现的核心在于ModbusTCP通信库编写,由于Modbus协议是公开免费,可以自己根据Modbus协议来开发,也可以使用开源的Modbus库,如NModbus等,有了ModbusTCP通信库之后,我们可以将更多的精力放在业务处理及逻辑处理上面。

6. 上位机功能开发创建一个Windows窗体应用项目,项目名称为thinger.com.MotionPro。
日志显示功能:日志显示采用ListView进行显示,绑定一个ImageList用来区分信息、报警、错误,添加日志方法的参数包含日志等级及日志内容。
自己开发ModbusTCP通信库或者使用开源库,该库应该具备建立连接、断开连接、预置寄存器、读取寄存器的功能。
建立连接和断开连接:这里通过按钮实现建立连接和断开连接2个功能。
相对位置运动:设置相对运动速度和相对运动位置,实现电机的相对运动。
juedui位置运动:设置juedui运动速度和juedui运动位置,实现电机的相对运动。
点动运动模式:设置点动运动速度,按住正向点动或者反向点动,实现电机的点动运动。
回原点模式:点击回原点,可以控制物体回到原点位置并停止。
运动停止、运动暂停、复位相关功能。
人气
104
发布时间
2024-07-22 10:16
所属行业
PLC
编号
41176263
我公司的其他供应信息
相关江苏省产品
拨打电话
微信咨询
请卖家联系我