西门子S7-1500入门级教程2-编程基础篇04

<a href=https://www.xmzyj.com/ximenzi>西门子</a>S7-1500入门级教程2-编程基础篇04″ inline=”0″></p>
<p class=S7-1500

实验四:LAD编程应用

1)实验内容

①编写程序,使Q4.0输出周期为5s,占空比为20%的连续脉冲信号。

②用I0.0控制Q0.0—Q1.7共16位每隔1s顺序置高电平一次,用循环移位和定时器实现。

③半径(<1000的整数)在MW10中,取圆周率3.1416,用数学运算指令计算圆的面积,运算结果转换为整数后存在MW12中。

④用一个按钮控制两盏灯,第一次按下时第一盏亮,第二盏灭;第二次按下时第一盏灭,第二盏亮;第三次按下时,两盏都亮;第四次按下时两盏都灭。

2)实验流程

①脉冲

先定义参数给定时器使用:

西门子S7-1500入门级教程2-编程基础篇04

图1-定义变量

再编写程序:

西门子S7-1500入门级教程2-编程基础篇04

图2-脉冲编程示例

西门子S7-1500入门级教程2-编程基础篇04

图3-脉冲编程示例续

在OB1中调用,给管脚赋值:

西门子S7-1500入门级教程2-编程基础篇04

图4-主程序中调用

最终实现20%占空比。

②每隔1s顺序置高

编写程序,思考思路与前面所学跑马灯类似:

调用前面所写脉冲再修改成1s脉冲,则可以在此处用起来:

西门子S7-1500入门级教程2-编程基础篇04

图5-顺序置高编程示例

西门子S7-1500入门级教程2-编程基础篇04

图6-顺序置高编程示例续

注意:(P)在博图中不是原来的上升沿触发,|P|才是。

运行结果:

西门子S7-1500入门级教程2-编程基础篇04

图7-运行结果

③乘法

编程如下:

西门子S7-1500入门级教程2-编程基础篇04

图8-乘法编程示例

运行结果:

西门子S7-1500入门级教程2-编程基础篇04

图9-运行结果

④按钮控灯

编程如下:

西门子S7-1500入门级教程2-编程基础篇04

图10-按钮控灯程序示例

运行结果:

西门子S7-1500入门级教程2-编程基础篇04

图11-运行结果

总结

1、重点难点

1) 在Portal中基本数据类型的地址表示方法

2) 在Portal中STL、SCL和FBD编程语言的使用

3) OB优先级及调用

4) 各种程序的编写

2、要点

1)熟悉了Portal中基本数据类型的关键字、长度、常量以及变量表示方式,如I0.0:p表示直接访问外设,不经过过程映像区;P#DB1.DBX0.0表示寻址到DB1的首地址等。

2)每种编程语言都有各自特点,比如LAD易于掌握;STL语言更加灵活,且执行效率高,要熟练掌握一种编程语言,并要能看懂其他编程语言,要在分析具体要求的情况下,将多种编程语言结合起来运用,如在LAD中插入STL程序段去完成复杂的数据移动和逻辑运算等。

3)多使用F1帮助,特别是博图是有中文版的,帮助也是中文的,能解决很多问题。

4)设置保持性时,一定要注意从STOP到RUN后保持性数据保持不变,非保持性数据不是全部为0,而是把启动值赋给现有的监视值。

5)同时也要注意把启动值赋给监视值的几种方式。

6)要注意区分各个OB的事件源和优先级,高优先级的OB可中断低优先级的OB。

敬请期待下一篇程序进阶篇01-STL编程应用~

作者简介

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

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

发表评论

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

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