组态软件开发

组态软件开发
最近研究行车综合自动化系统,总结并分享下组态软件开发的一些心得:
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等
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值