[西门子] 关于西门子1200/1500PLC的一些编程技巧

[复制链接]
查看75771 | 回复0 | 2024-10-12 08:33:21 | 显示全部楼层 |阅读模式
关于启程
启程自动化培训成立于2012年,创始人工控老鬼。培训项目主打三菱、西门子PLC编程系统集成、工业机器人编程、EPLAN电气设计、视觉等培训与技术服务的机构。推荐高薪就业,越努力越幸运。课程咨询报名138 0986 9603

下面是XXX工程师的感受分享,可以作为参考!

1、指令分为单扫描周期指令和多扫描周期指令。对于多扫描周期指令,如果EN或者REQ只使能一个扫描周期,该指令不能成功执行;例如大多数的通信指令;

2、FB块的输入输出形参存储于背景数据块中,在调用该FB时实参可选;而FC块的输入输出是临时内存,必须指定实参才能运行;

3、FB块的输入输出虽不是静态变量,但亦有保持功能,具体视程序而定;

4、注意变量被多次赋值时的先后顺序!因为变量的值总会被最后执行动作更新,前面的值将被覆盖;例如下图:



程序初衷为当接受响应完成时ERR置位,或响应超时ERR置位。上述程序是可以完成正常功能的;但若二者互换,如下图:



接收超时时,ERR不会置位,因为rev_done为0,ERR被复位!

5、STEP 7中的梯形图操作数、能流的监控特征色(蓝绿)、以及监控表中的布尔变量的刷新频率有限,可能不能反映真实的实时运行状况,可借助一个累加器来监视程序的运行状态;例如下图:



6、单个扫描周期中,一个布尔变量的上升/下降沿只能读取一次;因为读取一次之后,其Pre变量已被立即刷新,后续的读取不能成功读到该变量的状态变化;

7、数组访问越界将导致CPU错误,ERR灯闪烁;

8、单扫描周期指令的循环操作是在单扫描周期完成的;

9、多使用宏定义,可使程序易读、方便修改;

10、关于能流:(1)能流流经某个具备EN和ENO的指令,并不一定代表该指令功能执行完成,只代表该扫描周期扫描完成;(2)算数运算、bool变量操作等单扫描周期指令的ENO输出代表该指令执行完成。

11、FB/FC的EN端将为能流提供扫描通道,EN端断路,能流无扫描通路,内部变量将不再刷新,即该函数不再执行;当FB/FC的EN端总是使能,Enable输入断开,块内部仍有能流通路,相应变量会被扫描以致刷新;请注意二者区别;例见下图:




前者FB12内部的变量总会被扫描,而后者在M3.0或DB_Valve.done为1时,内部变量不会被扫描;相应的,前者done变量将被下一扫描周期置0,而后者done置1后将因能流不通不能扫描而自行保持;

往期阅读点击蓝字
1.一分钟了解《电气工程师职业技术证》如何报考

2.(干货)33款经典通讯调试工具合集,工控人必杀技!

3.西门子200SMART控制两台步进电机XY轴走线轨迹算法

4.手把手教你G120变频器参数设置!附全套官方培训资料

5.常见的PLC编程收费标准是怎样的?

6.高手都是怎么写PLC自动程序的?

7.Codesys软PLC可以和西门子PLC博途平分秋色吗?

8.PLC现场安装全流程!新手必看

9.PLC高级编程新手让道!西门子S7-1500用SCL语言编写的俄罗斯方块/贪吃蛇程序可仿真

10.30年老师傅整理的学习PLC编程思路和方法

扫码关注我们

本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则