组态软件开发

本文介绍了组态软件开发的模式切换、组件生成原理,并深入探讨了以太网通信中的socket通信机制,包括TCP/IP协议在进程间通信中的作用,TCP三次握手建立连接的过程,以及服务器与客户端的socket操作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

组态软件开发
最近研究行车综合自动化系统,总结并分享下组态软件开发的一些心得:
1、一般组态软件分开发模式与运行模式:1)开发模式与运行模式可以在同一程序中实现,通过配置的不同来进行区分;2)开发模式与运行模式由不同的程序实现——开发模式在控件组装的过程中将运行时的代码写入文件,运行模式时,将开发模式写入的代码编译生成可执行文件运行。
2、组态软件各组件的生成:1)组件由多个不同的形态构成,每个形态代表设备不同的状态,如轨道区段的占用、出清分别用不同的形态表示,每个形态对应一个状态属性值,在运行过程中根据传入状态属性值的不同,显示该控件不同的形态;2)组件由多个元素叠加而成,各元素在不同状态可设置不同颜色,根据传入的设备状态及逻辑条件判断当前应显示的形态。
3、通信方式:1)以太网;2)通用串口;3)OPC等。主要总结socket通信:
socket通信:采用open-write/read-close模式,用于网络中进程间通信
为了在应用程序当中调用任何一个Winsock API函数,首先第一件事情就是必须通过WSAStartup函数完成对Winsock服务的初始化,因此需要调用WSAStartup函数。WSAStartup,即WSA(Windows Sockets Asynchronous,Windows异步套接字)的启动命令,应用程序或DLL调用的第一个Windows Sockets函数。

int WSAStartup ( WORD wVersionRequested, LPWSADATA lpWSAData )

网络进程间通信需要唯一标示一个进程,本地可通过进程PID来唯一标示一个进程,网络中使用TCP/IP协议族,网络层“IP地址”可唯一标示网络中的主机,传输层的“协议+端口”可唯一标示主机中的应用程序即进程,利用IP地址、协议、端口号即可作为网络中进程的唯一标示,与其他进程进行交互。
首先创建一个socket描述符,唯一标示一个socket,作为参数进行读写操作。

int socket(int domain, int type, int protocol); 

//domain:协议域AF_INET、AF_INET6、AF_LOCAL(或称AF_UNIX,Unix域socket)、AF_ROUTE等,
//决定了socket的地址类型,在通信中必须采用对应的地址,如AF_INET决定了要用ipv4地址(32位的)与端口号(16位的)的组合

//type:socket类型SOCK_STREAM、SOCK_DGRAM、SOCK_RAW、SOCK_PACKET、SOCK_SEQPACKET等

//protocol:协议IPPROTO_TCP、IPPTOTO_UDP、IPPROTO_SCTP、IPPROTO_TIPC等

然后,将一个地址族中的特定地址付给socket。例如对应AF_INET、AF_INET6就是把一个ipv4或ipv6地址和端口号组合赋给socket。

int bind(int sockfd
SuperCx 是面向过程监控与工业自动化的 HMI/SCADA 软件开发平台(俗称组态软件),运行于Windows系统上,可以广泛应用于需要数据采集、对象控制、过程监视与控制等的各种应用中,如:石油、化工、钢铁、电力、环保、机械、楼宇自动化等行业。 丰富的图形系统 先进的图形绘制技术 包括矩形、菜单、按钮、定时器、曲线、报警表等近20种基本图形组件,支持插入各种格式图片。 图形对象均是 COM 对象,均能通过脚本控制,并能触发事件。 图形能以任意点为中心、任意角度旋转,可以相对不同位置水平和垂直方向缩放。 具备包括过渡色等多达 23 种填充风格,水平、垂直方向能分别指定不同的填充方向和填充百分比。 画面窗口分为 30 个层,每个图形对象在其中一层,层可以锁定和隐藏。 支持使用图像文件作为画面背景。 按钮对象可以在常规、鼠标掠过、按下、禁止等四种状态下显示不同的图片。 支持随意绘制3D管道,并具有液体流动效果。 趋势曲线支持多笔、多坐标轴,能显示实时和历史数据,具备缩放、滚动,在线添加或删除画笔等操作。 报警表能同时显示多个数据节点的报警记录,具备过滤、排序、确认报警等功能。 兼容第三方ActiveX控件 可以使用属性编辑器修改控件属性。 支持对控件属性进行动画连接。 允许脚本调用控件。 控件事件能触发脚本动作。 可由用户完全自由扩展的图库 图库由符号和模块两种不同形式的复合元素组成。 符号和模块均能由用户创建并进行管理。 支持用户扩展符号属性。 用户制作好的符号可以直接拖放到符号库中保存。 可以把制作好的画面以模块的形式保存到模块库重用。 高效全面的动画实现 全部类型对象的所有属性均能连接动画。 数据源可以是变量,更可以是复杂的表达式。 数据源表达式中用到的变量可以是标签变量,也可以是画面中的局部变量。 支持表格、线性、表格、直接等四种不同的动画连接方式。 优化的动画刷新,效率更高。 强大的脚本语言 强大的功能 使用VBScript作为脚本语言,VBScript脚本语言是微软VBA的一个子集。VBScrip易学易懂,功能强大,广泛使用于web动态网页的开发中。 VBScript具备丰富的函数库,可以轻松与第三方基于COM模型的软件系统交换,如使用ADO访问数据库,调用Excel等。 强大的编辑器 支持事件响应函数框架自动生成。 结合上下文列出方法和属性表帮助用户输入。 提示函数参数。 根据语法彩色显示文本。 伸缩显示代码块。 语法错误定位。 灵活的报表系统 报表生成向导能快速生成常用格式报表。 不仅可以打印SuperCx内置历史数据库,更可以打印第三方关系数据库。 类似水晶报表式的报表格式编辑,功能更加强大,可灵活定义输出格式,如报警数值特殊颜色显示等。 支持毫秒级时间打印。 支持直接调用Excel输出报表。 标签:SuperCxHMI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值