直播课堂
HOME
直播课堂
正文内容
PLC编程电脑分区 汇川技术PLC应用逻辑编程技巧(6)按工位分区编程法
发布时间 : 2025-04-16
作者 : 小编
访问数量 : 23
扫码分享至微信

汇川技术PLC应用逻辑编程技巧(6)按工位分区编程法

哈喽,你好啊,我是雷工!

本节继续学习按工位分区编程法,学习按照工位分块的编程思路;

以下为学习笔记。

01 圆盘多工位加工

圆盘型多工位加工系统,是常见的设备结构类型,该类型具有工件传递效率高、定位准确的特点;

圆盘多工位加工系统的每个工位完成固定的加工工艺,圆盘通过旋转传送工件到下一工位进行下一工艺;

02 圆盘工位的动作特点

①:所有工位各自开始不同工序的加工;所有工位均完成以后转动作②;

②:圆盘旋转一个工位,到位后,锁定转盘,然后转动作①,循环运行;

类似的圆盘系统还有全自动制鞋机;

03 按工位分块优点

按照工位分块,然后每块完成各自的功能;

再加上一个负责转盘转动的功能块;

这样每个功能块的控制逻辑就容易设计、方便逐个工位编写、调试程序;

04 圆盘多工位系统的状态图

转盘行设备其实也可以用前面状态转移编程法来编程,只不过圆盘多工位系统的运行状态的处理逻辑包含了各个工位的处理、圆盘的转动控制逻辑;

05 多工位编程注意事项

多工位加工需要注意设备开始运行和停机时,要考虑工位是否为空,是否有未加工完成的避免损坏设备和浪费工件;

注意问题:

①:在转盘启动运行时,所有工位全为空、各个工位的加工应该依次启动运行,避免工位为空时动作损坏设备;

②:设备收到停机指令后,需要依次停止工位的加工,等所有工位均加工完成后才可以整机停止,避免浪费材料;

解决思路:

给工件增加一个“软标签”用来表示有无缺件,是否正常加工等信息;

用户程序中定义一个与工位数量相同的环形数据队列,用于登记并传递“软标签”,转盘每转动一个工位,队列环形移动一次;

从工件加工到转盘旋转,刷新软标签;后续每个工位接到开始加工的命令时,先检查工件软标签,判断是否缺料,是否正常完成前一工序的加工等;

根据软标签信息判断结果响应是否进行加工,就能够解决依次启动,逐个停止加工的问题。

06 提升编程效率

在多工位分区编程法中如果有几个工位的功能动作是相同的,如果采用IEC语言编程,就可以只编写调试一个工位的控制功能块FB,然后再根据相同的数量实例化,就可以得到多个同功能的控制程序,大大提升编程效率。

07 后记

以上为多工位分区编程法的学习笔记;

有不当之处欢迎大佬在评论区留言指正,更多相关话题可以在交流群多多交流。

后面再记录按人工处理的逻辑步骤进行功能块划分的编程方法。

一文读懂PLC过程映像区和外设地址,太简单了

过程映像区

1.1 什么是过程映像区?

当我们在用户程序中对输入 (I) 和输出 (Q) 地址区进行寻址时,CPU并不直接访问信号模块, 而是访问 CPU 系统存储器中的存储区。 该存储区就是过程映像区。该区域分为两部分: 输入过程映像区(PII)和输出过程映像区(PIQ)。有两种方式可以更新过程映像区:OB1更新过程映像区和PIP更新过程映像区。

1.2 使用过程映像区有什么好处?

与直接访问输入/输出模块相比,访问过程映像区的优势在于在循环程序处理期间,可为CPU 提供一致的过程映像区数据,即在程序执行过程中,访问的过程映像区信号始终一致。 如果在程序执行期间输入模块的信号状态发生变化,过程映像区中的信号状态将保持不变,直到过程映像区在下一个周期中被更新。只有在过程映像区刷新时刻,I区和Q 区的内容才与输入/输出的实际值相同,所以它们并不能直接反映输入/输出的实际状态。

此外,由于过程映像存储在CPU的系统存储器中,访问过程映像区的速度明显快于直接访问信号模块。为了节省时间,通常程序中使用过程映像区的数据。

1.3 过程映像区的设置

对于S7-300/400的CPU而言,可以设置过程映像区的大小,具体设置方法如图1和图2所示,设置范围可以查看CPU的技术规范手册或者在组态界面查看。

对于S7-1200/1500CPU而言过程映像区不可更改。S7-1200 CPU输入过程映像区大小为1kbyte,输出过程映像区的大小为1kbyte。

S7-1500CPU输入过程映像区大小为32kbyte,输出过程映像区的大小为32kbyte。

图1 经典STEP7软件中设置CPU过程映像区

图2 博途STEP7软件中设置CPU过程映像区

对于S7-300/400的CPU来说,能否更改过程映像区的大小与CPU固件相关。

1.4 OB1更新过程映像区有什么特点?

在地址的分配过程中,如果模块的地址位于过程映像区之内,则可以选择自动更新过程映像,自动更新即为按照CPU OB1的周期更新过程映像区,如图3所示。如果地址不在过程映像区,则该区域显示“无”。

图3 自动更新过程映像

对于S7-300/400的CPU而言,该区域默认显示设置为“OB1过程映像”。I/O模块会在此过程映像区中分配相应的地址,操作系统在其每个程序循环内自动更新此地址。PLC的循环程序处理过程如图4和表格1所示。

图4 PLC程序循环处理过程

表格1 PLC循环程序处理过程

1.5 PIP更新过程映像有什么特点?

除 OB1 更新过程映像区之外,某些类型的 CPU 中还可以将输入/输出地址分配至过程映像分区 (PIP)中进行更新,比如一些I/O地址区域仅在相应的OB块,如循环中断OB被执行时才会被刷新,这种有条件的刷新方式也可以减轻CPU的负荷。

注意:

只有具有输入或输出模块才能选择此选项,同时不能将同一输入/输出地址既分配至 OB1 过程映像区更新,又分配至过程映像分区 (PIP)做更新,只能二选一。

过程映像分区的更新有以下两种方式:

· 将 PIP 分配至 OB块更新

· 通过在用户程序中通过调用 SFC 26 (UPDAT_PI) 和 SFC 27 (UPDAT_PO)系统功能块做更新

在IO地址区中,可以将过程映像分区连接到一个OB,启动OB后,系统将自动更新所分配的输入过程映像分区,在OB结束时,系统将分配的过程映像分区输出写入到I/O输出中。图5为通过过程映像分区6和循环中断做更新的示例,此外CPU还必须支持过程映像分区,可用的过程映像分区数量取决于CPU类型。

· S7-300 CPU支持的过程映像分区的最大数量为1;

· S7-400 CPU支持的过程映像分区的最大数量为15;

· S7-1200 CPU支持的过程映像分区的最大数量为4;

· S7-1500 CPU支持的过程映像分区的最大数量为31。

图5 通过过程映像分区6和循环中断做更新

如果过程映像分区未分配给OB,则操作系统不会更新此PIP,此时可通过特殊指令更新过程映像分区:

· 过程映像分区输入可使用SFC 26 (UPDAT_PI)指令

· 过程映像分区输出则使用SFC 27 (UPDAT_PO)指令

需要注意的是:S7-1200CPU 不支持SFC 26 (UPDAT_PI)、SFC 27 (UPDAT_PO)指令。S7-300 CPU不支持PIP分配至OB块更新。

外设地址

2.1什么是外设地址?

对于无法更改过程映像区的CPU来说,一旦所要使用的模板I/O地址超出了过程映像区范围,就必须使用外设寻址。

外设寻址就是指不经过过程映像区直接去访问I/O模板,使用时通过在地址前加上字母'P’来表示。

2.2 外设地址如何标识?

通过外设寻址同样可以访问已被分配过程映像区的 I/O 地址。

· PIB --> Peripheral Input Byte 外设输入字节

· PQB --> Peripheral output Byte 外设输出字节

· PIW --> Peripheral Input Word 外设输入字

· PQW --> Peripheral output Word 外设输出字

· PID --> Peripheral Input Double-word 外设输入双字

· PQD --> Peripheral Output Double-word 外设输出双字

外设地址的最小地址为字节,即PIB、PQB。

以模拟量输入为例理解IW与PIW:

· PIW:直接读取外设地址,即直接采集模板信号。 外设地址是实时更新数据,可能同一个扫描周期内有不同的实时数值。在某些需要对输入/输出进行较为实时处理的场合,需要选择使用直接外设寻址。

· IW:每个扫描周期将模板数据读取至过程映像区,程序访问过程映象区数值。

2.3什么情况下必须使用外设地址?

下列情况需要使用外设地址:

· 模板地址超出过程映像区范围

· 用户程序需要直接从输入模板读取实时值

· 输出值需要直接输出至模板 (至少一个字节)

常见问题

3.1如何访问外设地址的Bool地址?

由于外设地址的最小地址为字节,因此无法直接读取Bool地址。以输入为例,需要先用PIB/PIW/PID将数值MOVE到其他的存储区(如M,DB区),再访问M或DB的Bool地址。 输出也是一样,需要对M或者DB的Bool地址写入,然后将M或者DB的字节/字/双字MOVE到PQB/PQW/PQD。

3.2PQW能否使用状态图表监控?

PQW为只写操作,无法监看。通常设置一个中间地址,写入数值先赋值给M区或DB区地址,再由M区或DB区地址,MOVE给PQW,监看这个中间地址即可。 同理,PIW为只读操作,无法写入。

3.3DP或PN通讯正常为何从站数据为零?

S7-300挂分布式IO,通讯指示灯正常,但是读不到/写不进从站数据;读取的数值一直为0,写入的数值能看到,但从站无变化?

访问外设地址或者更改CPU的过程映像区,将输入或者输出地址放在过程映像区之内。

3.4 模块地址能否跨过程映像区?

使用S7-300系列的控制器CPU313C-2DP(6ES7 313-6BG04-0AB0)实现控制要求,组态一个32点的DI模块,自定义地址,“Start”设置为126,此时会提示地址无效,推荐的New Address为128,这是为什么?

这是因为当前CPU的输入/输出IO映像区范围默认是128个字节,32点的DI模块需要占用4个字节,本体的DI输入地址是124-125,如果保持地址连续的话,DI模块的地址应为126-129,此时已经超过默认的过程映像区128。对于一个数字量模块而言,其输出地址不能“跨越”过程映像,即一部分地址位于过程映像区内而一部分地址在过程映像区外。如果要保持数字量输出地址连续,可将过程映像区范围改大。也可以选择建议的起始地址128。

3.5 CP343-1或者CP342-5的IO地址与过程映像区有什么关系?

CP343-1或者CP342-5的IO地址需要在CPU的过程映像区之外,不能在CPU过程映像区之内,否则编译会报错。

相关问答

plc启动不起来一直响?

1、接线问题。可能变频器与电源之间的连接线有虚的地方,导致短时间接触不良掉电,从而使变频器停止工作;2、变频器受到电磁干扰。变频器使用受污染的电源,导...

128G的固态硬盘,是否有必要分区,如果分的话怎么分-ZOL问答

128的盘,实际容量是119G,必须留15%的空间不要分区做trim维护,那实际可用的容量就是100G。装64位系统和常用软件后,差不多是60G,你再分出40G没有意义。用这40G...

在三菱PLC梯形图中M、T指令是什么意思,怎么用的?谢谢?

这几天正好在发三菱PLC的相关视频,就来简单回答一下你这个问题!三菱PLC中的M和T其实不是指令,是软元件,相当于系统定义好的作用分区,以便于我们在这个分区内...

西门子300编程软件安装方法?-ZOL问答

S7-PLCSIMv5.3(PLC仿真)AotomationLicenseManagerv1.1选择语言:English提示:TransferLicenseKeysYes.tra...

原来的2.7寸plc显示器怎样换成10寸plc触摸屏-ZOL问答

假设触摸屏上把K1000给了PLC的D0。方法1:将D0赋值给K2M100(即M100开始的16位组成的寄存器)这样M100到M116就是相应的D0中的位。这样M100到M107就是D0的低八位....

...用一条usb转串口通讯线连接S7200PLC通讯碰到的問題:-ZOL问答

PLC电源或换台机器从而排除干扰问题有用(0)回复guohongwei1233,完成后会自动启动WindowsXPMode。把“我的电脑”在桌面上显示,并打开,可以看到我们主机上...

怎么样用三菱plc手持编程器修改时间-ZOL问答

三菱plc指令ADD用手持编程器无法直接输入。需要输入该应用指令的功能代号。ADD是加法指令,功能代号是FNC20.用手编输入方法:按“FNC”键,然后输入数字20,手编...

300plc与昆仑通态触摸屏通讯线肿么接-ZOL问答

触摸屏用(9针母头)300PLC(9针公头)7-----------------------------------38...家里的光纤是300兆的网速,用电脑和手机测试是100兆,怎么回事?...

kxremote:kxmixer.exe-应用程序错误怎么修好-ZOL问答

你的电脑大概是中毒了,介意去找电脑开发商有用(0)回复修复还不如重准系统吧可能是中毒了有用(0)回复系统出错或游戏未安装好有用(0)回复用360安全卫...

在线的老铁!能不能推荐一下!!相邻的防火分区之间是否需要连...

[回答]用CXProgrammer编程,在安装CX-One的选择全部,它会自动安装驱动的。欧姆龙PLC不像三菱那样,需要选择com口。当驱动自动安装好后,就直接可以通过USB来...

 cfosspeed  施工材料 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部