设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
TON定时器在IL和ST编程语言用法有何不同
返回列表
发新帖
[西门子]
TON定时器在IL和ST编程语言用法有何不同
[复制链接]
231
|
0
|
2024-5-31 08:32:08
|
显示全部楼层
|
阅读模式
下面是一个使用IL语句表编程的定时器示例
A I0.0 // 如果输入I0.0为真(接通)
TON T1, #5S // 启动定时器T1,并设置其延时时间为5秒
A T1.Q // 如果定时器T1的完成位(Q)为真(即5秒已过去)
= Q0.0 // 则将输出Q0.0置为真(接通)
A 是逻辑与指令,用于检查其后的条件是否为真。
I0.0 是输入地址,表示输入模块的第一个位。
TON 是定时器开启指令,用于启动一个定时器。T1 是定时器的标识符,#5S 是定时器的延时时间,设置为5秒。
T1.Q 是定时器T1的完成位(或称为"Done"位),当定时器达到其设定时间时,这个位会被置为真。
= 是赋值指令,用于设置输出或其他内部变量的值。Q0.0 是输出地址,表示输出模块的第一个位。
在ST中,你可以使用预定义的函数和指令来创建定时器。以下是一个使用ST创建定时器的简单示例:
VAR
Timer : TON; // 定义一个TON(接通延时)定时器
END_VAR
// 启动定时器
IF I0.0 THEN
Timer(IN:=TRUE, PT:=T#5s); // 启用定时器并设置时间为5秒
END_IF;
// 检查定时器是否完成
IF Timer.Q THEN
Q0.0:= TRUE; // 假设有一个输出信号需要设置
Timer(IN:=FALSE); // 重置定时器输入,停止定时器
END_IF;
在上面的示例中,TON是一个预定义的定时器数据类型,它包含了定时器所需的所有属性和方法。IN 是定时器的输入,当它为TRUE时,定时器开始计时。PT 是定时器的预设时间,这里设置为5秒(T#5s)。Q 是定时器的输出,当定时时间到达时,它会被置为TRUE。
用法注意⚠️
IL语句表定时器用完后不需要主动复位定期器,而ST编程语言,在IF语句调用定时器后一定在后面要复位,不然下一个扫描周期无法使用
// 检查定时器是否完成
IF Timer.Q THEN
Q0.0:= TRUE; // 假设有一个输出信号需要设置
Timer(IN:=FALSE); // 重置定时器输入,停止定时器
END_IF;
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
建云
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』