回复:怎么用312plc时钟定时触发一个bool量

已锁定

askab

  • 帖子

    401
  • 精华

    5
  • 被关注

    34

论坛等级:侠圣

注册时间:2005-07-24

黄金 黄金 如何晋级?

发布于 2021-05-15 23:09:10

4楼

按照你的说明

要求在自定义时间的某刻 取触发一个信号,你想用小时比较。好吧,

VAR_OUTPUT

year:INT;

month:INT;

day:INT;

hour:INT;

mins:INT;

second:INT;

week:INT;

END_VAR

VAR

read_status:INT;

copy_status1:INT;

read_time:DT;

act_time:ARRAY[0..8] OF BYTE;

TS:WORD;

week_no:INT;

END_VAR

//读取前 先将PLC时间与PG 时间同步  300PLC 没有用TIA  

read_status:= READ_CLK(CDT := read_time   //SFC1  

         ); // 读取系统时间

copy_status1:= BLKMOV(SRCBLK := read_time    //SFC20

       ,DSTBLK := act_time 

        );   //转化当前时间,并显示时间。

year:=BCD_TO_INT(act_time[0])+2000;

month:=BCD_TO_INT(act_time[1]);

day:=BCD_TO_INT(act_time[2]);

hour:=BCD_TO_INT(act_time[3]);

mins:=BCD_TO_INT(act_time[4]);

second:=BCD_TO_INT(act_time[5]);

TS:=BYTE_TO_WORD(act_time[7]);

week_no:=WORD_TO_INT(ts AND W#16#F) -1;

IF week_no = 0 THEN

    week:= 7;

ELSE

    week:=week_no;

END_IF;

可以根据你的要求取比较。
因为我不喜欢用TIA  一直时PCS7  + 300 这样用。

大家同行,you ok ? me !
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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