多点AC18V信号接到DC24V输入模块的处理方法

已锁定

ersacn

  • 帖子

    834
  • 精华

    5
  • 被关注

    4

论坛等级:侠士

注册时间:2003-06-06

普通 普通 如何晋级?

多点AC18V信号接到DC24V输入模块的处理方法

935

4

2010-01-04 17:16:27

有一项目需对几十台装置进行监控,可是装置只能输出AC380信号表示正在运行。PLC采用S7-313C,若是采用AC输入模块电压又太高,无法输入。只能采用微型变压器降压到AC18,为了安装简单,没有配整流桥堆直接将信号送入DC24V的输入模块。根据模块技术参数:1信号13V~30V;0信号-30V~+5V。可以输入交流信号,就是信号在20mS一个周波中为0要比为1的时间还长。
为了能正常的判断是否在运行,我采用延时释放定时器进行处理。数量少,1,2台处理很简单,数量一多就很麻烦。300的定时器可使用间接寻址,为编程带来方便。下面是实际运行的32点交流输入的滤波程序。若是给输入点防抖动,可以将SF换成SD,这样对几十点乃至上百点的处理也很简单。

L 0
T #No_TMP //LW20临时字运行数量计数清零
L L#0
T #IN_TMP_1_32 //LD12临时双字,处理好的输入点信号
L "IN_1_32" //ID0输入
T #IN_DW //LD0临时双字脉动输入信号
L 1 //定时器起始地址号
T #T_ADD //定时器地址寄存器
L 32
NXE1: T #EC_W //循环计数器
A L 0.0
L S5T#100MS //停机延时100ms释放
SF T [#T_ADD] //延时释放定时器
A T [#T_ADD] //判断时间
JCN _001
S L 12.0 //有输入就置1
L 1
L #No_TMP
+I
T #No_TMP //已运行台数计数
_001: L #T_ADD
L 1
+I
T #T_ADD //定时器地址加1
L #IN_DW
RRD 1
T #IN_DW //LD0临时双字脉动输入信号右循环1位
L #IN_TMP_1_32
RRD 1
T #IN_TMP_1_32 //LD12临时双字,处理好的输入点信号右循环1位
L #EC_W //装载循环计数器
LOOP NXE1 //循环32次
L #IN_TMP_1_32
T "IN_M_1_32" //输出结果到MD110
多点AC18V信号接到DC24V输入模块的处理方法 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54787条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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