西门子S7-300入门级教程03-参数类型篇01

<a href=https://www.xmzyj.com/ximenzi>西门子</a>S7-300入门级教程03-参数类型篇01″ inline=”0″></p>
<p class=S7-300

实验一 参数类型应用1

1) 目的

掌握不同类型的参数 TIMER / COUNTER / BLOCK_FC / BLOCK_FB / BLOCK_DB / BLOCK_SDB / POINTER / ANY

2) 实验内容

①设计一个FB101,它包含两个定时器类型输入参数:Timer1、Timer2,一个计数器参数Counter1。要求在该FB中用这两个定时器设计一个功能电路,实现占空比可调节的方波输出;每输出一个方波,计数器加1。

②设计一个FC102,它包含类型为BLOCK_FB、BLOCK_FC和BLOCK_DB的输入参数,试从OB1中调用FC102,并将FB103(无参数)、FC103(无参数)和DB103作为实参输入。编程验证。

3) 实验流程

①可调节方波

建立一个FB101,然后在FB101接口定义输入和输出参数,输入参数:T_number1、T_number2(定时器类型)、C_number1(计数器类型)、S5time1、S5time2(S5Time类型);输出参数:Counter_num(int类型),如下图所示。西门子S7-300入门级教程03-参数类型篇01

图1-定义输入参数

西门子S7-300入门级教程03-参数类型篇01

图2-定义输出参数

在FB101中,编写接两个脉冲定时器(SP),利用脉冲定时器(上册10-19)特性,当M0.0出现下降沿使得触发器保持1状态让2号脉冲定时器启动,同时通过M0.1反锁定时器1,当定时器2执行完毕,M0.1出现下降沿时,通过触发器的复位优先关闭定时器1,同时M0.1为0,使得定时器1运行,从而反复循环。

西门子S7-300入门级教程03-参数类型篇01

图3-编程思路1

在FB101中,编写加计数器(CU),配置其输入输出参数,使用上述定义的计数器类型的接口参数,如下图所示。

西门子S7-300入门级教程03-参数类型篇01

图4-编程思路2

在OB1中调用FB101,分配背景数据块DB101,在Timer1和Timer2分别填写定时器号T10和T11,Counter1填写计数器号C10,并设置延时时长,编程如下图所示。

西门子S7-300入门级教程03-参数类型篇01

图5-编程思路3

保存编译将程序下载到PLCSIM中,新建变量表VAT_1来监视MD8、T11、T10和C10运行的结果,通过设置T10和T11的时长值,实现占空比可调节的方波输出,并且每输出一个方波,计数器加1,通过MD8来显示方波输出个数,也可设置C10来显示或修改方波数如下图所示。

西门子S7-300入门级教程03-参数类型篇01

图6-修改方波占比

西门子S7-300入门级教程03-参数类型篇01

图7-显示或修改方波数

②设计FC102实现调用

新建FC102,在FC102接口定义输入参数,输入参数:a(BLOCK_FB数据类型)、b(BLOCK_FC数据类型)和c(BLOCK_DB数据类型),如下图所示。

西门子S7-300入门级教程03-参数类型篇01

图8-定义输入参数

可在其中编写简单程序验证:

西门子S7-300入门级教程03-参数类型篇01

图9-验证

4) 总结

1. 可定义TIMER、COUNTER、BLOCK_FC、BLOCK_FB、BLOCK_DB、BLOCK_SDB POINTER 和ANY数据类型,将定时器、计数器、数据块、功能和功能块作为一种数据类型来使用,使其调用更加灵活,并且可以更加合理分配号,当程序多了后不会乱。其中T1在程序中即是TIMER量,也可以当BOOL量用来当开关(PS:T1在变量表中可以修改定时器的时长,C1可以修改计数器的号码)。

敬请期待下一篇参数类型篇02

PS:友情提醒,所有文章都是一个系列,是连贯的,顺着看效果更好~

作者简介

谭俊豪:重庆大学机械工程学院学士,西门子中国公司培训生

本文为原创文章,于头条首发,欢迎转载,请注明出处和作者!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据