设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
TIA博途PLC自动步程序的7种编程方法
返回列表
发新帖
[西门子]
TIA博途PLC自动步程序的7种编程方法
[复制链接]
162
|
0
|
2024-4-16 09:01:32
|
显示全部楼层
|
阅读模式
PLC自动程序的功能是控制设备按照设计的流程进行工作。PLC自动程序的流程编写也有好几种方法,常见的有以下几种:
一、SET/RESET方法
使用M变量标识步序,当满足步序跳转条件后,将下一步M变量置位,同时将当前步M变量复位。原理简单,易于上手。
在调试中,增减步序时,会造成M变量的排序混乱,不利于程序维护,易产生错误。在复位操作中,容易有遗漏,增加程序出错几率。常用于动作少,流程简单的流程编写。
二、步编号方法
使用整型变量作为步序编号,易于理解,便于维护。步序增减,跳转等操作方便,简单,易懂。复位操作时,仅需将变量值改为0。
编程中需注意,当连续步序的条件同时为真时,步序号在一个PLC周期内连续增加,直至最后一条未导通步序指令,而由步序号触发的其它程序则未被执行。调试时容易漏掉此种情况。
三、WORK & STATE 字方法
设置两个变量字state word,work word。state word中的位作为步序标志,work word作为跳转目标步序标志。
当前步序state word中步序位对应的条件满足时,触发work word中下一步对应的位。而后,在PLC顺序扫描至传送指令时,将work word的值赋值给state word,完成步序跳转。
优点是没有置位,复位操作,同一时刻只有唯一的位置1,跳步时只用将对应的work word 中的位置1即可。复位时,将state word与work word清零,程序会自动将state word中第一位点亮。
当步序大于16时,可改为DWORD或增加word的数量来增加步序。
四、Wait & Output方法
需要先建立对应的DB块,用来存储每一步对应的跳转条件和输出对应的word代码。
再编写对应的wait程序(步序条件),编写时需将条件逻辑逆转编写(即跳转条件不满足时,对应的wait_pending为导通状态。比如跳转条件为需要一个传感器亮,则wait条件中要写此传感器OFF的指令)
每一步激活wait编码对应的步序条件,当激活的跳转条件完全满足时,wait_pending 会为0,则程序会将步序自动加1,然后激活下一步wait编码对应的条件。程序跳转时,直接改变步序号即可。
使用对应的表格进行编程,速度快,维护简单,维护人员碰到设备停止状况,只要查找那条wait指令为导通状态即可。
但步序条件编程逻辑需要写成反向,初次使用者不容易理解。如无流程记录文件,流程的理解比较困难,对改造,维护并不友好,目前很少看到。
五、SCL编写方法
SCL语言形式为代码形式,阅读理解不如梯形图直观,需要一定的编程基础,对于日常设备维护不是很友好。
常用于特定功能块的编写,数据的处理等,调试完成后进行封装。
六、GRAPH 流程图方法
流程图形式编程,不是所有品牌PLC都支持,且只有大型PLC才支持。(1200不支持,仅1500支持)
图形化界面,易于理解。跳步编写简单,对于日常维护非常友好。
复位,单步运行,都有对应的FB接口。
但PLC占用资源较多,根据经验,西门子315 PLC,使用step number方式编程,可多写一倍的顺控程序。且当graph中步序达到一定数量后,step 7软件监控会出现卡顿,宕机等情况。
七、DECO 解码指令方法
解码指令DECO,即将整数转换为Dword中对应的位置1,且当步序产生变化时,PLC必定会重新执行一个扫描周期,不会产生连续跳多个步续的情况。避免了程序中步序触发的指令没有被执行的情况。
跳转,复位操作编写简单。
1200PLC可支持DWORD解码(32位),1500可支持LWORD解码(64位)。
感谢优秀工程师的总结与分享!
公众号: 巨控电子
( 扫码关注 )
微信群:PLC工业自动化社区
(加好友标注:姓名-城市)
西门子WINCC
博途WinCC专业版C/S架构入门指南
咔!咔!咔!自动/停止/手动 - WinCC中的三档转换
按图索数-WinCC中的“地图+数据”
WinCC与S7-1500 R/H系统通信
通过Web Service与WinCC交互数据
可缩放矢量图形(SVG)在WinCC中的应用
WinCC V7.5典型架构及选型指南
自动语音播报WinCC报警消息
西门子TIA博途
1.S7-PLCSIM Advanced使用入门
2.使用PLCSIM Advanced仿真博途PID
3.使用PLCSIM Advanced仿真博途Modbus_TCP
4.使用PLCSIM Advanced仿真博途S7-1500 OPC UA
西门子TIA博途SCL学习
1.西门子PLC用TIA博途SCL语言写的一个产生随机实数的指令块(学习1)
2.TIA博途SCL编程学习2_sin(x)
3.TIA博途SCL编程学习3_两个数的计算器
4.TIA博途SCL编程学习4_选择法排序
5.TIA博途SCL编程学习5_一串数字的加法
6.TIA博途SCL编程学习6_数组逆序
7.西门子TIA博途S7-1200/1500学习7间接寻址指令PEEK的使用
8.TIA博途SCL编程学习8_计算N天后的日期
9.TIA博途SCL编程学习9_百鸡百钱
10.TIA博途SCL编程学习10_字符串日期转换成DATE数据类型
11.TIA博途SCL编程学习11_多条件与运算
12.TIA博途SCL编程学习12_数组求和两种算法比较
13.TIA博途SCL编程学习13_电机正反转加点动
14.TIA博途SCL编程学习14_填表格
15.TIA博途SCL编程学习15_素数判断
16.TIA博途SCL编程学习16_歌德巴赫猜想验证
17.TIA博途SCL编程学习17_选择法排序
18.TIA博途SCL编程学习19_分数段人数统计
19.TIA博途SCL编程学习19_分数段人数统计
20.TIA博途SCL编程学习20_换钱
21.TIA博途SCL编程学习21_4个数字中的3个数字的排列组合
22.TIA博途SCL编程学习22_奖金计算
23.TIA博途SCL编程学习23_求最大公约数和最小公倍数
24.TIA博途SCL编程学习24_一串数字的加法
25.TIA博途SCL编程学习25_找出1-1000之间的完数
26.TIA博途SCL编程学习26_小球反弹高度
27.TIA博途SCL编程学习27_猴子吃桃
28.TIA博途SCL编程学习28_一个分数序列加法
29.TIA博途SCL编程学习29_五位数分解
30.TIA博途SCL编程学习30_捡鸡蛋
31.TIA博途SCL编程学习31_HelloWorld
32.TIA博途SCL编程学习32_幂
33.TIA博途SCL编程学习33_水仙花数
34.TIA博途SCL编程学习34_完数
35.TIA博途SCL编程学习35_另类比大小
36.TIA博途SCL编程学习36_自然数反转
37.TIA博途SCL编程学习37_数字加密
38.TIA博途SCL编程学习38_三种方法求最大公约数
39.TIA博途SCL编程学习39_友好数
40.TIA博途SCL编程学习40_平方回文数
41.TIA博途SCL编程学习40_斐波那契数列
42.TIA博途SCL编程学习41_大数乘法
43.TIA博途SCL编程学习42_三位数的组合
44.TIA博途SCL编程学习43_新娘和新郎
45.TIA博途SCL编程学习44_韩信点兵
46.TIA博途SCL编程学习45_过桥问题
47.TIA博途SCL编程学习46_分鱼问题
48.TIA博途SCL编程学习47_跳跃游戏
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
博图TIA
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』