发布于 2011-11-18 13:51:38
6楼
我来分析分析楼主这个需求!
1.我们先不讨论楼主的需求合理不合理,只是来满足楼主的需求。
楼主是想给一个设备发一个“启动”信号,这个设备受到这个“启动”信号为1后,就运行了,运行后上位机接到“反馈”信号后再让这个启动信号为0。
(应该是这样理解的吧?)功能是容易实现的,写一个全局脚本 500ms周期循环。
——————示意逻辑(以下不是标准语法哈,只是参考逻辑)——————
if(gettag("反馈")==1&&gettag("启动")==1)
settag("启动",0)
你再做一个按钮给这个设备发“启动”信号(不需要写脚本,直接动作赋值1就ok)。
ok,楼主需求的功能实现了,全局脚本的作用就是当反馈信号回来的时候就取消启动命令。
2.我们这个时候再来谈论,其实这个需求是有点点不合理的。因为这样的话,容易造成设备一直有启动信令的存在,容易设备误动作。比如设备主回路没有送电,就一直没有反馈,但启动信号一直在。
因为我们的标准做法应该是这样,我们会发一个启动信号 1 让它保持N秒钟(比如5秒),当N秒过后如果设备都还是没有启动我们就断开这个启动信号。
其实“脚本”的力量是相当强大的。其实我们不应该将其称之为脚本,因为C不能算是一种脚本语言。VBS才是脚本语言,VBs cript嘛。可能是因为很多人喜欢在wincc里面用VBS写东西,所统称为脚本。其实我们在进行数据库处理,或者做一些大的应用开发的时候,我们的C代码很多很多,应该称之为程序才对。
我所在的公司可能和受多行业习惯影响,他们往往看重下位机,而忽视上位机的重要性。其实上位机才是能给用户以最形象最直观展示成果的地方。在大多数人眼里总是觉得上位机就是画画图连连点。上位机的数据、逻辑、布局、操作方式、通讯等等还是很考验人的。无奈我所在的公司就一点都不重视上位机!哎
Ken(小释)…西门子自动化技术群16182848