这里结合4.5.1和4.5.2章节以及简单IF-ELSE语句,写了一段简单的代码,本代码文件夹为4.5,源码如下:
本段代码最终目标就是想让大家学会上升沿R_TRIG功能块、下降沿F_TRIG功能块以及定时器TON功能块的使用。学会使用trace工具进行波形分析。
局部变量区:
PROGRAM PLC_PRG
VAR
vR_Trig : R_TRIG;
vF_Trig : F_TRIG;
vt_Time1 : TON;
vt_Time2 : TON;
vb_StartButton : BOOL;
END_VAR
程序段:
vt_Time1(IN:=(NOT vb_StartButton), PT:= T#2S, Q=>, ET=> );
IF vt_Time1.Q THEN
vb_StartButton := TRUE;
END_IF
vt_Time2(IN:= vb_StartButton, PT:= T#3S, Q=> , ET=> );
IF vt_Time2.Q THEN
vb_StartButton := FALSE;
END_IF
vR_Trig(CLK:= vb_StartButton, Q=> );
vF_Trig(CLK:= vb_StartButton, Q=> );
本项目用到知识点有:新建codesys项目、变量概念、上升沿下降沿功能块使用、定时器功能块应用、IF语句简单应用、仿真功能、trace示波器功能等。下面带大家一步一步来:
第一步新建项目,然后在局部变量段,写上自己想声明的变量。然后在程序段,写相关的代码既可以了。这里使用了上升沿功能块以及定时器功能块,我们在程序段,鼠标右键点击,选择输入助手。
把变量段,我们声明的上升沿、下降沿、定时器等功能块,用输入助手选择出来,这样就能有()括号里的输入参数了。
本项目整体代码如下:
项目仿真波形如下:
vb_StartButton这个布尔变量,由TON定时器功能块控制。大家看一下波形,第一行,蓝线部分。一个周期的时间是5S,看图分析也就是vb_StartButton是true(为1)的时间是3s时间,vb_StartButton为false(0)的时间是2s.
在vb_StartButton从0->1的过程,会产生1个周期的vR_Trig.Q上升沿信号,只持续一个周期。在vb_StartButton从1->0的过程,会产生1个周期的vF_Trig.Q信号。
程序写完了,让我们详细看一下怎么添加trace的,怎么进行仿真的
首先鼠标点击到application、然后点击添加对象、添加跟踪,注意弹出来的输入框必须输入英文。
trace建立完成后,点开,然后点击配置,进行任务配置,选择maintask
添加我们要仿真查看的波形变量,使用输入助手进行输入
将所有我们要仿真查看的变量都添加进来
将项目设置成仿真模式
点击登录到
点击运行
点击鼠标右键,下载监控
然后运行的时候,就能看的变量了
回到程序里,我们在监控的时候,也能看到各个变量的值