查看: 1049|回复: 8
收起左侧

[教程经验] 关于ST之生成固定周期的脉冲信号-10ms-100ms-1s-1min

jiaxf 2022-6-14 17:30:13 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
本帖最后由 jiaxf 于 2022-6-15 16:39 编辑

1,准备工作

依次创建结构体ST_TimeBit和全局变量表 GVL_TBit

1.1 ST_TimeBit

TYPE ST_TimeBit :
STRUCT
        _10ms : BOOL;
        _100ms : BOOL;
        _1s : BOOL;
        _1min :BOOL;

END_STRUCT
END_TYPE

1.2 GVL_TBit

VAR_GLOBAL
        st_timeBit:ST_TimeBit;        
END_VAR

2, 创建程序Cycle_ms_s_Bit

2.1 变量声明

PROGRAM Cycle_ms_s_Bit
VAR
        standard_ton : TON;        
        t :TIME := T#10MS;

        i_10ms :INT := 0;
        i_100ms :INT := 0;
        i_1s :INT := 0;
        i_min :INT := 0;

        tmp_p: ARRAY[1..4] OF R_TRIG;
        tmp_B: ARRAY[1..4] OF BOOL := [FALSE];
END_VAR

2.2 程序部分

(***************************************************************************************
*功能:           用于生成标准的10ms,100ms,1s,1min的上升沿脉冲信号
*****************************************************************************************)

standard_ton(IN:= NOT st_timeBit._10ms, PT:= t , Q=> st_timeBit._10ms, ET=> );

tmp_p[1](CLK:=st_timeBit._10ms, Q=> tmp_B[1]);
st_timeBit._10ms := tmp_B[1];
IF tmp_B[1] THEN
        i_10ms := i_10ms + 1;
END_IF

tmp_p[2](CLK:=( i_10ms MOD 10 = 0) AND (i_10ms <> 0) , Q=> tmp_B[2]);
st_timeBit._100ms := tmp_B[2];
IF tmp_B[2] THEN
        i_100ms := i_100ms + 1;
END_IF

tmp_p[3](CLK:=( i_100ms MOD 10 = 0) AND (i_100ms <> 0), Q=> tmp_B[3]);
st_timeBit._1s := tmp_B[3];
IF tmp_B[3] THEN
        i_1s := i_1s + 1;
END_IF

tmp_p[4](CLK:=( i_1s MOD 60 = 0) AND (i_1s <> 0), Q=> tmp_B[4]);
st_timeBit._1min := tmp_B[4];
IF i_1s = 60 THEN
        i_10ms := 0;
        i_100ms := 0;
        i_min := 0;
        i_1s := 0;
END_IF

3, 将程序添加至 task任务中

注意任务配置类型为循环,间隔周期 ≤T#10ms





上一篇:AM600回零时碰限位,轴会报错
下一篇:汇川PLC有没有选型软件

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

是不是还有些变量的定义没放上来?用不了
回复 送花

使用道具 举报

LiyuLi 2022-6-15 13:00:26 | 显示全部楼层
谢谢楼主分享
回复 送花

使用道具 举报

Patrical 2022-6-15 13:37:02 | 显示全部楼层
谢谢楼主分享,,,
回复 送花

使用道具 举报

jiaxf 2022-6-15 16:36:57 | 显示全部楼层
zw2021summer 发表于 2022-6-15 10:53
是不是还有些变量的定义没放上来?用不了

能具体说下吗?我目前来看都是放上来了
回复 送花

使用道具 举报

我是原生态codesys,不是汇川的软件,不知道是不是这个原因
CODESYS.png
回复 送花

使用道具 举报

jiaxf 2022-6-17 14:30:34 | 显示全部楼层
关于反馈变量用不了,是因为1, `=` 发布后变成‘&lt’; 2, `>` 发布后变成‘&gt’;
回复 送花

使用道具 举报

jiaxf 发表于 2022-6-17 14:30
关于反馈变量用不了,是因为1, `=` 发布后变成‘&lt’; 2, `>` 发布后变成‘&gt’; ...

好的,我再试试,谢谢
回复 送花

使用道具 举报

silky 2022-6-17 22:15:11 | 显示全部楼层

谢谢楼主分享
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部