回复:在S7-300程序中做一个类式电气的消声程序

一天到晚游泳的猪

  • 帖子

    768
  • 精华

    10
  • 被关注

    60

论坛等级:侠圣

注册时间:2003-06-06

普通 普通 如何晋级?

发布于 2012-02-21 12:02:36

70楼

楼主的要求我也做过类似的,就是光字牌报警,而且做过多次了,我的控制要求是:

1、任意一个报警来,就触发一个变量导致按钮闪烁,同时触发该报警的光字牌闪烁
2、按下确认按钮,可以把画面中所有的光字牌复位(报警还在,光字牌就不闪变红色,报警已走,光字牌就恢复原色),同时按钮也不再闪烁(报警还在,按钮就不闪变红色,视轻重故障,报警已走,按钮就恢复原色)
我的做法:
由于是多个项目都会做光字牌,所以我就考虑程序要通用些,因此定义两个db,大小随项目具体内容而定,第一个db块存放报警的源数据,采用bool型数组,一般是来自I点也可能来自模拟量报警点,第二个db块存放每个报警的保持变量,用于记录报警来、确认后的状态,采用INT型数组;

编写一个fc块,管脚有两个db的编号和起始byte号(主要是考虑把两个db合并成一个db也是行的)、报警点的数量、报警复位命令和总报警输出指示。
在调用这个fc之前,还需要写一段赋值语句,也就是根据项目情况,把所有的报警源数据点逐一赋值到第一个db中去,一般用excel完成这种赋值语句是很轻松的事情。
这样,每次做项目不必修改fc了,只要编写一段赋值语句、定义两个db和调用一个可以重复利用的fc
有生之年,狭路相逢,终不能幸免
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54715条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。