提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
系列文章目录
【贝加莱PLC基础教学】1.AutiomationStudio软件安装_学不会编程炸糕的博客-CSDN博客
【贝加莱PLC基础教学】2.AutiomationStudio软件组态-CSDN博客
【贝加莱PLC基础教学】2.5.AutiomationStudio基础编程与仿真_学不会编程炸糕的博客-CSDN博客
【贝加莱PLC基础教学】3.AutiomationStudio编程基础-CSDN博客
【贝加莱PLC基础教学】4.AutiomationStudio界面交互与仿真-CSDN博客
【贝加莱PLC基础教学】Q&A_Simulink生成AutomationStudio代码常见问题-CSDN博客
前言
显然,绝大多数时候,我们并非都是在联机环境上进行编程。所以,有效的掌握仿真技能格外重要。接下来将从组态开始到编程实现来简要的了解仿真的一系列操作,有助于读者更好的了解和使用贝加莱AS仿真功能。
时间 | 内容 |
2023.10.14 | 初次撰写仿真基础功能 |
2023.10.15 | 1.修改了ST语言代码部分的错误:IF iNum=100 THEN 而不是 IF iNum :=100 THEN 2.加入了连接仿真器的步骤; 3.修改部分错别字 |
2023.11.16 | 1.强调了创建工程时路径的规范性,避免汉字,避免数字开头 2.加入了系列文章目录,方便跳转 |
一、组态
组态就是在软件上描述硬件配置的信息。硬件配置和计算机配置一样,一般包括CPU处理器,显示屏以及其他从站模块等。
在【贝加莱PLC基础教学】2.AutiomationStudio软件组态-CSDN博客 文章内容中描述了AS软件如何进行硬件组态的方法,这里再简要的提及一下:
以仿真而言,并不需要多么完备的组态,但是如果是需要和实机通讯一定要选择正确且完备的组态!以某大学自动化学院实验室为例,实机组态如下:
其中对应的各实体设备如下:
在本次仿真实验中,可以使用该硬件组态,一劳永逸;也可以选择先创建一个屏和一个CPU简单练习。本次先简单练习一下。
1.1 简单组态练习
首先第一步,如果没有新建工程就新建工程,如下。如果有工程比如已经按【贝加莱PLC基础教学】2章节中完成了组态配置的可以使用对应工程,即可跳过简单组态练习。(避免路径中出现数字开头的不规范命名,应采用字母或者下划线开头的正确路径)
第二步,选择Define a new hardware configuration manually,手动定义配置;或者选择导入一个存在的配置(在其他Project工程中选择hw文件即可,实验室实体设备上做不同项目使用较多)。
第三步,找到5AP1130.156C这个型号的屏,可通过Panel PC3100标签过滤。
第四步,找到5PPC3100.KBU1型号的CPU处理器。再点击Finish即可。
对于仿真而言,以上内容已经完全足够。甚至可以选择任意处理器等,本次仿真练习很简单,基本不需要硬件约束,意思就是选啥都可以。
二、编程
编程教学一些比较简单的内容,主要是学习基础方法。
2.1 选择编程块
不同编程块最本质的区别在于语言和语法的不同。其次是Init
第一步,选择左侧LogicalView视图,点击上面空白处。
第二步,在右侧Toolbox中找到Program。
第三步,选择其中某个Program,双击或者向左拖动到LogicalView视图中。普通Program和All In One Program的区别在于主要函数(Init函数、Cyclic函数以及exit函数)是否在同一个文件中,这里推荐使用普通Program,因为函数以文件形式分开,有利于代码复杂时浏览。这里将以C++Program为例,也会使用贝加莱PLC主推的ST语言进行举例。
2.2 添加局部变量
局部变量即只能在该Program中使用的变量,在该Program变量表中定义的变量无法在其他Program中使用。
第一步,选中变量表Variables.var在右侧弹出的窗口中右键选择添加变量Add Variable。
第二步,我们在此处添加局部变量 iNum、bLight 如下(其中Constant为常量勾选;Retain为掉电保持,即PLC断电再上电后变量将继续当前值,并非从初始值重新开始;Value为默认值设置)定义变量后一定记得全部保存!随手保存是一个好习惯!很多设置都需要保存或者保存后关闭重开窗口刷新才能生效:
第三步,我们可以尝试定义一下全局变量,在Logical View的Global.var中定义一个无符号整型giCount。
2.3添加库和使用库函数
使用库函数可以简化很多的底层代码编写,其中有的库函数比较复杂需要利用Help文档来学习。先介绍Help文档的使用方法:主流的一种是在最上方菜单栏中选择Help和Search,然后搜索关键词即可。或者是鼠标悬停在不懂的地方然后按F1也可以快速跳转到Help:
再介绍如何添加库和如何使用库函数。
第一步,在logicalView中点击空白或者Libraries。然后选择B&R Libraries,从中找到MTBasic库,其中内置PID函数,对控制工程十分重要。
第二步,添加库以后我们可以利用库函数完成功能编写。比如在Program的cyclic.cpp函数中我们可以点击编码窗口左上角FB来加入库函数:
2.4 基础编程
正常按C语言或者ST语言编程即可。如下展示一份Cyclic.cpp文件中相关代码,功能为按Program循环周期计数加一,到100时清零并计数。
void _CYCLIC ProgramCyclic(void)
{
// Insert code here
iNum = iNum + 1;
if(100==iNum)
{
giCount += 1;
iNum = 0;
}
}
ST语言的编程如下所示:
PROGRAM _CYCLIC
(* Insert code here *)
iNum := iNum + 1;
IF iNum=100 THEN
iCount:=iCount+1;
iNum:=0;
END_PROGRAM
三、仿真
简单介绍仿真和监视变量的功能以及操作,这是后续HMI练习与仿真的基础。
第一步,开启仿真ARsim。
第一点一步,(连接仿真器),点击上方菜单栏中的Online--Setting,然后点击类似放大镜找芯片一样的图标(就在OnlineSetting下方),然后选择这个127.0.0.1的仿真器右键Connect,这样连接以后才能检查仿真是否开启。
第二步,检查仿真是否开启,出仿真启动完成的标志为AS软件右下角的OFFLINE变为如下图所示的 ARsim RUN。
第三步,在电脑底端窗口栏右侧小图标处应出现相关的ARsim仿真图标,记得ARsim仿真需要每四小时重启一次,如果代码有问题导致仿真卡死也最好重启,然后检查代码。
第四步,下载代码到仿真器中。选择Transfer按钮(在工具栏Tools下方)或者按Ctrl+F5,然后在弹出的页面中选择Transfer即可。
第五步,选择Monitor按钮进入监控模式,此时AS软件整体界面会变为深灰色。
第六步,监控变量,监控变量的方法有两种,第一种是在监控模式下鼠标悬停在变量上即可监控看到变量的值;第二种需要在LogicalView视图的Program上右键选择Open--Watch,然后将变量表中的变量拖入Watch窗口中。
监控结果在Watch弹窗中如下所示:
总结
本文仅仅简单介绍了AS软件基础编程和仿真的使用,AS软件中很多的按钮和窗口可以在学习的过程中自己去探索。
组态练习方面可以参考【贝加莱PLC基础教学】2.AutiomationStudio软件组态-CSDN博客 其中涉及到软件包升级的内容可以先无视,从仿真出发提高对软件的了解,本文相对来说较为简单适合入门。
还有一些关于软件安装和联机编程验证的参考如下: