罗克韦尔AB PLC编程中使用AOI指令的简单应用
关于本实验
Add-On指令简化电机连锁控制的子程序。
实验背景
现在的程序当中用JSR调用子例程的方式。
随后的编程使用过程中发现其在调用时中有操作繁琐、占用内存大的不足之处。
以泵的连锁控制调用为例:
在调用子例程的时候首先除了新建必须的P_Motor、P_Intlk、P_Reset数据类型之外还需要新建ESTOP、Ready、Alarm*4共6个BOOL量。因为AB的变量存储的最小数据量为4个字节,所以即使建一个BOOL量所占用的空间也是4 Bytes。这样在调用泵或电机的时候就会很大程度的浪费了内存空间。况且在编辑JSR指令的时候每行的输入参数删除完毕都会出现新的空白行,随后必须执行删除参数行才行。新建多个BOOL变量和在修改是出现的空白行都加大了编程时的工作量。
实验目的
通过Add-On指令编写解决以上调用子例程所描述操作繁琐、占用内存大的问题,简化编程过程。
实验环境
软件:
Windows 10 LTSC 2019Studio 5000 V32.0 中文版FactoryTalk View Studio V10.0 亚洲版PA3.5(P_Motor\P_Intlk\P_Reset和相应画面)关于Add-On自定义指令
Add-On自定义指令即为用户定义的指令。在项目中定义 Add-On 自定义指令时,其作用与内置指令的作用相似。您可以定义这些指令,或者由他人为您提供。通过 Add-On 自定义指令,可以将最常用的逻辑封装成指令集。使用这些指令轻松重用项目中最常用的指令集,也可以共享这些指令以提高所有项目的一致性。
可以使用 Logix Designer 应用程序中已经提供的标准梯形图、功能块图和结构化文本语言创建 AOI 逻辑。创建 Add-On 自定义指令后,可将其用于任意 Logix Designer 应用程序 routine。
上下文视图可以为其使用的特定实例显示指令的逻辑,以便简化联机对 Add-On 自定义指令进行故障排除的过程。自动生成的主题帮助还可以使您更加轻松地获得成功实施所需的帮助。
最后,可以使用 Add-On 自定义指令的源代码保护功能将指令用户的访问权限限制为只读,使其只能进行只读访问,或禁止其访问指令使用的内部逻辑或本地 tag。这样可以防止意外更改指令,并保护您的知识产权。
总之,通过 Add-On 自定义指令可以:
定义能够在多个项目中编写和重复使用的指令。将 Add-On 自定义指令导出至 .L5X 文件,该文件随后将导入到另一个项目中。您还可以在项目之间进行复制和粘贴。查看针对各个指令的版本历史、更改历史以及自动生成的帮助页面。通过对各个指令应用权限集或者使用源保护,来保护对指令的使用和修改。针对add-on自定义指令,通过向add-on自定义指令添加指令签名来生成唯一标识符并防止编辑指令(密封),从而防止修改、跟踪修订以及轻松确认指令功能。当将密封指令导出至 .L5K 或 .L5X 文件时,该指令已经过编码。新建Add-On指令(以Pump_Control为例)
1.分析输入输出量
由JSR指令可知
输入量有:P_Motor、P_Intlk、P_Reset、Estop、Ready、VF_Alarm、PS_Alarm、FS_Alarm、LS_Alarm
输出量有:P_Motor、P_Intlk、P_Reset、
其中输出输入量有:P_Motor、P_Intlk、P_Reset、
2.新建AOI指令
资产——Add-On自定义指令——右击——新建Add-On自定义指令,在弹出的面板中填写相应的信息,然后确定。
新建确认后会出现
选择(参数)选项,定义相应的输入输出量。如下图:
定义6个输入的BOOL量,3个输入输出量。配置6个BOOL量的可视属性,这样在调用的时候可以直观的看到其变量的值。也可以定义其变量别名更方便的调用参数。
本地Tag用来存逻辑中用到的本地标签,签名可以设置电子签名来保护程序不被修改。帮助可以生成指令相应的帮助文档包括梯形图、功能块和文本的调用。
相应的属性设置完毕后确定,并打开Logic程序
复制Pump_Contorl 子程序内容到Logic,并删除无用内容更改相应变量的标签
更改完成后保存,并验证Routine,保证没有错误。
这样这个Add-On指令就已经创建完了。
调用验证新建的Add-On指令
1.新建一个Routine,梯形图。
新建泵控制所需要的标签并调用。(这里以P1Q23为例)
其中标签P1Q23_Con的数据类型PumpControl为新建的Add-On指令数据类型
这样就已经调用了PumpControl指令。
2.运行仿真验证
在上位画面中建立了5个泵对象,下位程序里也添加了相应的标签
位号为:P1Q13、P1Q23、P1Q33、P1Q43、P1Q53
泵的连锁条件Ready为断开检测所以赋值1,其余连锁输入值为0.
运行结果如下图:
当13、33、53的VF_Alarm连锁信号为真时,看其是否连锁报警。
运行结果看均出现连锁报警。
现将13、33的VF_Alarm置0查看运行情况:
运行结果13、33均解除了连锁报警,53还存在连锁报警。运行结果正常。
现在上位将23、43启动运行
由以上运行结果看,泵的连锁控制PumpControl是可以正常调用运行的。
结论
新建的PumpControl指令可以正常的调用运行。其操作方式简化之前JSR的编程方式,给工作提供了便利,结合Excel批量编辑导入标签可以大大减少编程的工作时间。
在指令的属性中可以看到数据类型大小只有4字节,比起以前6*4字节减少了不少的内存空间。如果有100台泵则可以减少2Mb(5*4*100=2000字节)内存的使用。
延伸
同样的道理将搅拌电机连锁控制(Agitator_Control)、变频电机连锁控制(FPump_Control)编程Add-On指令。
西门子官方讲解的PLC小案例
非常感谢各位知友对西门子PLC产品的推荐,今天我们有幸邀请到西门子的PLC产品的专家,为大家详细讲解西门子PLC的学习。
以下是原文:
学习西门子PLC没有想象中那么难,一句话可以总结为:对初学者来说,600多块的SR20就足够用了,组态软件免费,西门子官方网站还有免费的视频教程。
详细展开讲,就涉及到PLC的硬件组成、编程软件、系统指令和程序结构等复杂的内容。
接下来,我将从PLC的选型、PLC入门及PLC拓展模块和进阶等方面,介绍PLC的学习要点。
一、 选型及成本
推荐:SR20
推荐理由:这要从西门子PLC的产品家族开始说起。
西门子做PLC已经有40多年了,目前最新的产品家族为SIMATIC S7。
西门子针对不同的市场需求推出了不同的产品系列,如高端的S7-1500系列,中端的S7-1200系列,低端的S7-200 SMART(以下简称SMART)系列。
对初学者来说,从SMART系列入门是最合适的。
SMART是西门子针对中国市场研发的新一代PLC,被广泛应用在包装、纺织、机床、食品、地铁等众多领域。
它能够有效地提升设备性能和降低成本,性价比非常高,也非常可靠。
SMART主要分为ST和SR两大系列,这两个系列都能在电商平台上购买到。SR系列ST系列最主要的不同是:
ST系列可以接收/输出高速脉冲信号,所以ST系列可以应用在运动控制,常见的包装产线,目前热门的机械手臂等领域。
大家在学习阶段一般是应用不到这些功能的。
而且ST和SR在编程和使用上是没有区别的,它们之间相互通信也非常容易实现。
在SR系列里,对于初学者,我重点推荐SR20。
理由1:性价比高,在各大电商平台的西门子经销商处都能买到,价格只要600多块
理由2:组态软件免费,学习和迁移成本低
SMART系列的组态软件(即通俗意义上的上位机)是STEP 7-Micro/WIN SMART(简称Micro/WIN),在官网上可以免费下载免费使用。
Micro/WIN的设计理念和前面提到的,另外两个高阶PLC系列,S7-1200和S7-1500的组态软件TIAPortal是一脉相承的,也支持和S7-1200 ,S7-1500之间相互通信。
如若以后需要学习西门子的中高端PLC产品系列,学习和迁移的成本是非常低的。
SR20 PLC的真面目
接下来,带大家看看SR20 PLC的外观。
蓝色的线是Micro/WIN和PLC通信的网线。上面一排端子是信号输入端子和供电端子。下面一排段子是输出端子和给扩展模块的供电端子。左下方是RS485接口。左右两面还有一些标识信息,如订货号、FS号等。总结一下,学习PLC的成本 :
购买SR20:600多元。组态软件免费。SR2可以直接使用220V电源供电,也可以使用24V电源。我曾经用一个SR20加一些外部设备,打造了一个全自动化的小型灌溉系统,总成本不超过1000元。
感兴趣的知友可以在后文,看到简单的设计方案和接线方式。
二、 PLC入门
PLC是一个集成度非常高的系统,在实际工作中,可能只有部分功能被用到,但在学习时,需要全面了解下PLC的功能。
SMART PLC就是一个非常好的入门系列,刚才我们提到了,SMART PLC的操作工具是Micro/WIN。
所以学习SMART PLC就是学习Micro/WIN。
我们内部也会交流SMART PLC的学习体会,大家普遍的感受是,SMART系列的学习成本非常低。
我们在设计SMART PLC的功能时,会把易用性作为首要考虑的因素,即使没有编程经验,也能在短时间熟悉使用PLC产品的绝大部分功能。
性价比高,好上手,可靠,这就是SMART系列在中国如此成功的原因之一。
关于PLC究竟要学些什么内容,市面上有很多关于SMART PLC的书籍,在此不作赘述。
而关于Micro/WIN 的操作方法教程,西门子官网也有入门操作的视频课程,全部都是免费的。
作为西门子PLC产品的研发人员,长期接触PLC,有几个高效学习的小技巧分享给大家。这些小技巧很容易被忽视,大多数工作几年的PLC研发人员可能也不知道,但这些技巧对于初学者又非常重要。
1、设置PG/PC接口
在初次安装Micro/WIN时,需要设置PG/PC接口。SR20集成了标准以太网口,可以使用PC物理网卡和PLC直接通信,所以无需购买昂贵且传输速率不高的PPI线。
PG/PC接口是什么呢?
很多刚接触西门子PLC的同学会有这样的疑惑,PG/PC其实指的是电脑。
接下来在Access Point of the Application这里选择MWSMART,意为我们需要给Micro/WIN连接PLC设置一个网络接口,在列表中选择有线以太网口。
2、连接设置PLC
在连接CPU的时候,先选择通信接口,这里选择物理网卡,跟上面设置PG/PC作用是一样的。点击”查找CPU”,SR20就会响应指令然后将识别信息发送给Micro/WIN。
选中SR20点击确定后,Micro/WIN和PLC建联成功。然后通过”编辑”可以给PLC设置身份信息,通过”闪烁”指示灯可以让PLC的LED灯交替闪烁。
3、查看、设置更多信息
连接上PLC后,就可以开始操作PLC了。
很多人都不知道时间设置在哪里,在“PLC”菜单栏”中选择”设置时钟”就可以设置时间了。
设置时钟的操作一般只需要在初次连接PLC的时候进行,PLC内部有独立的时钟,可以断电保持7天。PLC在运行中也会实时纠正时钟误差,即使连续运行几年,误差都不会超过2秒钟。在小型PLC中这是一个非常高的精度。
在自动化系统中,我们需要经常操作的一个步骤是,检查系统当前是否正常运行,性能状况如何,是否有警报信息。这些都在PLC菜单下的PLC功能块里面。
在PLC的调试和运行过程中,我们会经常打开这个界面,检查PLC的运行情况。
4、调试模拟PLC
调试和模拟功能是Micro/WIN非常重要的功能,这个功能非常实用并且操作简单,它可以方便地模拟实际运行过程中无法生成的参数,让操作者能够提前发现程序和配置中的问题,和生成最优的参数,能够有效地降低系统的风险。
但往往一些经验丰富的工程师,都不知道或者不会使用这个功能,所以在这里详细地讲述一下。
下面是一个简单的起保停电路的梯形图,通过左边项目树中的”指令”目录可以添加这些指令。
然后,我们把这段程序下载到PLC中去执行下,会发现一些有趣的事情。
下载时,如果还没跟PLC建立连接,Micro/WIN会弹出通信对话框提示先连接PLC。
下载完成后,点击”RUN”按钮,通知PLC开始执行程序。
通过下载对话框可以访问在线帮助手册,它包含了所有PLC编程相关的信息,比市场上所有的相关书籍都更重要,即使是已经操作熟练的PLC专家也需要经常查阅在线帮助手册。
按F1也可以打开这个文档,还可以把这个文档从Micro/WIN的安装目录。中拷贝出来,方便随时翻阅学习。
默认在C:\Program Files(x86)\Siemens\STEP 7-MicroWIN SMART\Help\S7MicroWinSmart_804.chm
下载完成后,可以将CPU设置为RUN模式,Micro/WIN还提供了很强大的调试和观察程序运行的功能,请点击“程序运行”按钮。
蓝色表示能流流通,灰色表示能流未导通。从图上看到,由于I0.0对应的输入端子没有检测到高电平,因此I0.0这个输入印象区的值为0,触点打开,能流就不能流到后面去了,M0.0也没有接通,处于打开状态。
没有给I0.0对应的输入端子接电信号,又想调试怎么办呢?
Micro/WIN有一个利器,状态图表。
我们写入I0.0然后点击监控按钮,可以看到I0.0的值为0,给它输入一个值1,然后点监控旁边”强制”按钮,再试试看。
可以看到,I0.0被强制为1。PLC不再从输入端子检测电信号,而是读取给它写入的值作为I0.0的值。可以对能访问到的所有内存区执行强制操作,这对调试非常有用。
下面是强制后的程序状态:
M0.0闭合了,取消I0.0的强制再观察,会看到M0.0还是闭合状态,这就是起保停电路的作用。
需要说明一点,当用户处于监控状态时,是无法操作系统块,向导等等功能的。如果点击了某个按钮但是Micro/WIN没反应,这多半都是因为当前处于监控状态。
如下图,再添加两个指令,然后再将它下载到PLC。
然后监控程序运行状态。
当再次将I0.0强制的时候Q0.0立即变为1,同时能听到继电器Q0.0闭合的声音。如果将负载,比如电机、灯泡等设备连接到PLC,那么设备立即会运转起来。
这里再讲一下如何接线。
第一步,将24V电源的正极和SR20的输出端子中的1L连接。
第二步,将负载(如电机)的输入正极和输出端子如Q0.0连接。
第三步,将24v电源的负极和负载输入的负极连接。
如果有多个负载,那么就从Q0.1-Q0.7端子接线。每一个输出端子可以承载最大2A电流,因此切记不要超负荷运行。
另一方面,Q点总共有8个,分成两组,Q0.0-Q0.3,都需要通过1L这个输入端子接到24V开关电源上。如果还需要接更多的负载,那么就需要给2L这个输入端子供电,通过Q0.4-Q0.7和负载连接了。
好了,关键内容就透露到这里,更多的入门课程请前往网址进行视频学习,讲解全面透彻,而且免费。
三、拓展模块和进阶学习
1、拓展模块
SMART之所以性价比高,是因为它仅仅集成了核心的功能,对于个性化的自动化项目/产品功能,是用扩展模块的方式来实现的,这样客户就不用为不需要的功能买单了。
SMART的扩展模块目录在在线帮助文档里可以查看到。
扩展模块的安装也非常简单,PLC右侧的长方形塑料片是可以抠下来的,后面就是插模块的位置。
插好模块后,在“系统块”的EM行中选择刚才插入的扩展模块就完成组态了。
我个人用的最多的模块是AR02,我上面提到的全自动化农业灌溉系统,就是用AR02扩展模块实现的。
2、致用所学
AR02拓展模块是专门为检测温度打造的,价格大约在200元多一点(价格有可能上下浮动)。也无需再购买额外的供电电源,PLC右下方24VDC字样下方的两个端子L+和M可以给它供电。
我又增加了一个大约30元的温度传感器Pt100,接到AR02上面的输入端子中。接线完成后通过AIW16读取实时温度,在程序中根据温度做不同的处理。
这样,一个全自动化农业灌溉系统就做好了。
这个全自动化农业灌溉系统简化版本的设计方案如下:
简化版本用到的硬件设备:
Pt100一个,用来采集实时温度AR02扩展模块一个,接收并处理温度传感器的数据SR20一个,控制器,处理用户程序24V2A水泵一个水管和喷头,根据实际需要购买PVC塑料水管,用于固定水管和喷头(这个不是必须的)24V5A电源一个,给控制器和水泵供电其他如电线,固定PLC的支架等,根据需要选购接线图:
在第二部分已经讲过详细接线方式,简化版本的示意图如下:
程序
refresh_schedule,smartlib为生成浇灌计划的库,密码为TIC_new_hope_V 1 3magic_lanterns.smartlib为”魔幻彩灯”的库( 可以不用),用来点亮彩灯的程序,按照设计,每天早上6:45-7:00,晚上6:50-7:50彩灯点亮,特殊的节日如情人节、圣诞节,彩灯都会点亮,密码为 TIC_new_hope_V_1_3,将这两个库复制到C:\Users\Public\Documents\Siemens\STEP7-MicroWIN SMART\Lib目录以便调用tic-r-1-5-7-h.smart是主程序,会调用上面那两个库执行浇灌以及点亮彩灯任务,如果不需要彩灯,删除程序最后一段调用magic_lanterns的代码即可程序:上手PLC对话框中,回复【SMART案例】
这些设计和程序由我开发编写,各位知友可以任意使用并且修改。上面这个设计是最简单版本,再提供一些思路供拓展训练:
拓展1: 不同的植物对水的需求往往不一致,可通过增加水泵和修改程序来对更多的植物浇灌。
拓展2: 连接制热设备(如暖气炉)而不是水泵,根据空气温度自动调节室内温度。
拓展3: PLC可以通过OUC跟任何支持网络(标准TCP/IP)的设备进行通信,如跟PC通信,可以在PC端执行机器学习或神经网络程序(例如人脸识别),将需要执行的动作发送至PLC。
再回到题主的问题,如果想更好的学习PLC,那么一个办法就是,致用所学,大家在学习过程中也不妨试一试。
此全自动化农业灌溉系统仅供抛砖引玉。PLC能够支持非常复杂的功能,如运动控制,高速计数器,Profinet等,这些功能都在Micro/WIN左侧项目树下的“向导”目录中。
当熟悉了Micro/WIN向导下的功能后,甚至可以用SR20打造一个自动化产线。
最后总结:
1、推荐选择SR20作为入门PLC的产品,成本低,易用性强,软件免费,拓展性强。
2、学习PLC,用免费的Micro/WIN软件就可以,线上有帮助手册,官网有免费教程,上文
也介绍了常规教程中不常见的操作
3、有问题可以在西门子官网上提问,西门子专家团队会定期回答。
免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!
如何获取更多 电气热门资料?
操作指引如下!
相关问答
plc编程入门怎么学,开始时需要学什么?
[回答]应该是每个人抱着必死的决心做好自己的事,我做好我的了,接下来到你了。感谢合作商广东三人易行教育科技有限公司学IT有两种方式:自学可以自己去买...
plc有电触点不亮是什么原因?
原因分析如下:1、PLC上的拨动开关,有没有拨到RUN,如果没有,就拨到RUN。2、如果PLC拨动开关拨在RUN位置了,在线看看有没有程序,如果没有程序也不会RUN。3...
用usb-sc09-fx线怎么跟FX1N连接?
USB-SC09-FXUSBtoRS422AdapterforMELSEC-PLCFXFS-22052006,跟上述两软件如何连接,通信设置里在软件的在线这个里有一个传输设置,,EcY...
刚开始接触PLC,麻烦大家推荐PLC编程从入门到精通?
[回答]广东三人易行教育科技有限公司应该有10多年的历史了,服务也比较靠谱!短期目标三人易行自动化-制造业职业技能型人才基地,专注装备制造业职业教育人...
什么是成纤维细胞生长因子(FGF)蛋白–960化工网问答
早期研究使用的成纤维细胞生长因子(FGFs)主要来自牛脑和脑垂体的提取液,是大约150个氨基酸结构的酸性或碱性成纤维细胞生长因子(aFGF:FGF1或bFGF:FGF2)。其后分...
重庆学plc编程哪家好一些?有谁清楚
[回答]建议你可以先在网上搜一下,然后再去实地考察参观下,主要还是找到适合自己的才是最.好的,基本上都有试听课,不妨去感受一下我向你推荐一家我认为还...
帮个忙,自动化去水口设备关键功能是怎样的大家推荐一下
[回答]去水口设备专为各种成型产品出模后剪切水口而设计,能适应各种产品,针对出模方式进行个性化设计。PLC编程控制安全,维护方便,故障率低;每个动作都可...
工业机器人培训课程有哪些?
[回答]我才是个孩子,不是机器人!学习读书也像吃饭一样,点到了就吃,不是说一天都在吃饭的!如果你能一天都在吃饭!那我就一天都在学习,饭也不吃!因为你父母...
自动化去水口设备关键功能如何感谢回答
[回答]去水口设备专为各种成型产品出模后剪切水口而设计,能适应各种产品,针对出模方式进行个性化设计。PLC编程控制安全,维护方便,故障率低;每个动作都可...
什么是PID温控仪?
什么是PID温控器?♥下面通俗的说一下PID温控器,PID翻译过来就是比例积分微分的意思。工业自动控制采用了模糊PID技术,就可以定义为智能,这些生产厂家的工程...