TRICONEX 9662-110系统软件设计
传统的应用程序都是单线程的,即,在程序运行期间,由单个线程独占TRICONEX 9662-110CPU的控制。在这种情况下,程序在执行一些比较费时的任务时,就无法及时响应用户的操作,影响了应用程序的实时性能。在监控系统,特别是远程监控系统中,应用程序往往不但要及时把监控对象的信息反馈给监视客户(通过图形显示),还要处理本地机与远程机之间的通信以及对控制对象的实时控制等任务,这时,仅仅由单个线程来完成所有任务,显然无法满足监控系统的实时性要求。为此,可引进多线程机制,主线程专门负责消息的响应,使程序能够响应命令和其他事件。辅助线程可以用于完成其他比较费时的工作,如通信、图形显示和后台打印等,这样就不至于影响主线程的运行。
总之,把多线程机制引进通信,有利于提高应用程序的实时性,充分利用系统资源。对于大型的工程应用来说,不同的线程完成不同的任务,也有利于提高程序的模块化,便于维护和扩展。
TRICONEX 9662-110软件采用了Client/Server结构,两端通过网络建立TCP/IP连接,按照自定义的数据通信协议交换数据,完成数据通信和系统控制的功能。监控中心的客户端向服务器端申请建立连接,服务器监听到连接请求之后,和客户端建立SOCKET连接,客户端向服务器发送控制信号,服务器端向客户端发送视频码流。
服务器端软件运行在PC104上,编码部分由于采用了硬件压缩,不占用TRICONEX 9662-110的系统资源,所以,合理设计PC104上运行的服务器软件结构,对于提高整个系统的工作效率有着重要的意义,系统性能也与之密切相关。软件设计的主要思想如下:读取线程,发送线程和控制线程之间的同步,防止有限资源的浪费。
在分析控制指令、码流读入、发送传输的处理过程中,可能会存在时间冗余。以读取码流为例,系统从EPLD的FIFO中读取视频数据,如果TRICONEX 9662-110CPU读取的速度比编码器的速度快,可能会处于等待的编码器硬件响应状态。此时虽然CPU被占用,但实际上系统没有执行有效的任务,造成计算机系统资源的浪费,而嵌入式系统的资源本来就非常紧张。
Siemens Simotion P350 6AU13 Simatic Sinamics Sinumerik
Siemens Geber Encoder 6FX Simatic Sinamics Sinumerik
Siemens SINAMICS Control Supply Module 6SL3100-1DE22-0A
Siemens Sinumerik 840C Simatic Sinamics Simodrive
3 Stück Siemens Sinamics Sensor Module
Siemens Sinumerik NCU 570.2,6FC5372-0AA00-0AA2
Siemens Simatic S5 CPU 948, 6ES5 948-3UA21, E:08
Siemens Simatic S5 CPU 948,6ES5 948-3UA21,E:04
Siemens Simatic Panel PC 670, 6AV7725-1BC10-0AD0
Siemens Simatic TP1500,6AV6 647-0AG11-3AX0,E:04
Siemens Simatic OP35 S/W,6AV3535-1FA01-0AX0,E:06
Siemens Simatic S7 CPU 416-2, 6ES7 416-2XK04-0AB0
Siemens Simatic S7 CPU 317, 6ES7 317-2EK13-0AB0,E:04
Siemens Simatic PC FI45, 6AV7660-5DC00-2AT0,A00
Siemens Sinumerik NCU 572.5, 6FC5357-0BB25-0AA0,K
Siemens Simatic S5 PS955, 6ES5 955-3NC41, E:03
Siemens Simatic S5 CPU945, 6ES5 945-7UA23,E:02