网站招商广告
 
 
当前位置: 首页 » 新闻中心 » 技术应用 » 正文

通过临界区对象保证两线程互斥访问共享数据和命令管理器

放大字体  缩小字体 发布日期:2014-08-06  来源:中国自动化网  作者:admin
核心提示:  基于上位机的主线程和通信子线程分工为主模块负责根据操作人员的动作更改系统设定数据、发出控制要求;通信模块负责确保用户的设定数据和控制命令及时送给PLC,然后根据PLC送回的数据刷新主线程的数据和命令键。上位机

  基于上位机的主线程和通信子线程分工为主模块负责根据操作人员的动作更改系统设定数据、发出控制要求;通信模块负责确保用户的设定数据和控制命令及时送给PLC,然后根据PLC送回的数据刷新主线程的数据和命令键。上位机软件在Win95上用Delphi实现。主线程主线程对各个模块进行统一管理,负责整个系统的初始化、参数配置信号、控制信号的传递,模拟控制界面的数据更新及统计报表、打印,数据库的产生和维护等。由于要监控的对象太多,为了使画面简洁,在界面设计上采用状态显示和操作键合一的方法。即画面上的控件一直实时显示对应对象的实际状态,同时操作人员可以通过鼠标点击来发出改变其状态的控制命令,并由PLC所上传的数据进行画面状态的刷新。这样的数据库便于管理和统计。操作人员换班时,软件自动生成对应表格,并进行相应的日、月、年的报表统计。用户可以选择报表打印。另外,数据库表格根据操作人员上班签到时输入的日期命名,与工控机的系统时钟无关。这样,当系统时间被有意(如为避免CIH病毒而修改日期)或无意的改变时,不影响数据库的统计和报表。

  线程间通信为了保证线程之间的双向通信,软件中设计了3种通信方式:共享数据区双方以互斥方式访问该数据区。命令管理器用于主线程向子线程发送命令。由于通信子线程后台运行,无法接收消息,所以设计了该命令管理器模拟Win95的消息处理机制。操作人员有控制动作时,主线程往命令管理器中添加命令,子线程则循环读取其中的命令,解释后发给PLC,并检查发送的命令是否正常执行;PLC执行后结果正确,则清除该命令,否则继续发送直到PLC送回结果为止。发消息用于子线程向主线程发送消息,如:存盘消息,串行口通信异常消息等。为保证线程之间的同步,通过临界区对象保证两线程互斥访问共享数据和命令管理器。同一时间内,只允许一个线程对其进行操作。

0
 
 
[ 新闻中心搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]

 
0条 [查看全部]  相关评论

 
推荐图文
推荐新闻中心
点击排行
   友情链接        申请链接     保存本站桌面快捷方式 ↓   
百度 搜狗 有道 好搜 必应 雅虎 中国搜索 中搜综合 宜搜
会刊 5G展会之星 3G网站专家 中国自动化网 自动化设备网 太阳能光伏发电站 易达自动化设备 易达自动化淘宝店 易达自动化阿里店
中山坚美拉弯加工 中山新永丰铜铝业 中山市荣美线切割 昌达输送机 中山佳能电热电器 中山傅氏起重搬运 万邦企业管理咨询 蛋挞大王 坦洲坚美铝材门窗
坦洲镇展图拉弯厂 中山群协机械设备 驭龙输送机械配件 康瑞智能化科技 中山永信铝业公司 圣狮龙狮武术团 中山碧居智能装备 广东科舰知识产权 亚力菲自动化设备
伊特莱健康家居 行者法务机构 中山科创专利代理 中山市鑫发五金 奇异世界收藏品 诚信机械工程部 中山新创意五金 中山益盛精工制造
 
网站首页 | 服务条款 | 联系我们 | 关于我们 | 网站地图 | 排名推广 | 网站留言 | RSS订阅 | 粤ICP备19044893号      
 
分享按钮