[西门子] TIA博途SCL编程学习39_友好数

[复制链接]
查看377 | 回复0 | 2024-5-16 14:18:53 | 显示全部楼层 |阅读模式
1 | 题目


友好数又叫亲和数,它指的是这样的两个自然数,其中每个数的真因数之和等于另一个数。例如,220的真因数是1、2、4、5、10、11、20、22、44、55和110,加起来得284,而284的真因数是1、2、4、71、142,加起来也恰好是220。那么284和220就是友好数。设计一个程序求2000以内的亲和数对。



2 | 设计分析


遍历求解2000以内自然数的真因数并求和,求和结果再次遍历求解真因数并求和,判断最终求和结果是否等于原自然数,是则这两个数为友好数,否则不是友好数。



3 | 创建功能或功能块


添加功能块FB,命名为:“FriendlyNumber”。




4 | 定义接口变量


具体接口变量定义见下图:
因为友好数为一组数对,所以预定义了一个10个元素的二维数组来存储结果。



5 | 程序代码


编写程序代码。如下图:


采用遍历的方式,由于对称的原因,求因子时只需要遍历一半就可以了。



6 | 代码测试


在循环OB中调用FB- “FriendlyNumber”,调用时会自动创建背景数据块,命名为“InstFriendlyNumber”,该背景数据块可以用来监视和修改数据。
转至在线并监控程序。如下图:
可以看到2000以内的友好数有220、284、1184、1210共四个。



7 | 总结


学习使用FOR循环语句;
学习FOR语句的循环嵌套;
学习使用IF...ELSE语句;
学习使用二维数组;
注意本例的程序结构,变量初始化的不同方法,特别注意使用临时变量时,一定要先赋值后使用。

巧用触摸屏 变量导入导出操作

01
HMI变量介绍
众所周知,变量是触摸屏和PLC通信的中间桥梁。触摸屏的变量主要分为内部变量和外部变量,内部变量和PLC没有任何关系,只能在触摸屏项目内部使用,只有运行系统处于运行状态时变量值才可用。外部变量是来自于PLC的变量,外部变量的值与PLC存储器中的过程值相对应,可以实现过程值的读取和写入操作。
02
HMI变量在哪儿定义?
  通常我们会在触摸屏项目下的HMI变量表中定义项目所需的变量。当项目中变量较多时,不建议将所有变量都放在一个变量表中,可以根据不同的分类来创建多个变量表存放不同类别的变量。在使用过程中,就可以快速的定位和查找。在项目树中,每个HMI设备都有一个“HMI变量”文件夹。
  项目中用到的变量都需要在HMI变量中定义,一定要遵循“先定义后使用”的原则。“HMI变量"文件夹默认包含“显示所有变量”、“添加新变量表”(用户自定义变量表)和”默认变量表”。“显示所有变量”表主要包括了HMI设备的所有变量和系统变量,该表不能删除、重命名或者移动。“添加新变量表”表支持创建多个用户自定义的变量表,以便根据需要对变量进行分组,该表支持重命名、整理合并为组或删除。用户自定义变量表如下图所示。
  项目中的每个HMI设备都有一个默认变量表,该表无法删除或移动。默认变量表包含HMI变量和系统变量,如果添加变量时未对变量进行分组,添加的HMI变量都会被分配到默认变量表。

03
变量表导入导出操作
  了解了HMI变量的相关概念,我们接下来进入正题。项目开发过程中如果变量数量较多,同时需要快速创建和集中定义变量属性,除了在相应变量表中逐个添加和设置外,其实我们还可以将现有的变量完整导出,利用Excel的强大编辑功能添加修改完成后再次导入即可,极大的节省了时间。
有了思路接下来我们来看具体操作。如下图所示,以一个含有6个变量的变量表Plant为例进行演示。首先可以在变量表的左上角点击导出按钮,之后按照期望的存放路径导出该变量表。


  导出后的变量表主要结构如下图所示。依据这个变量表模板,我们就可以根据需求在Excel中进行增加、删除和修改变量属性等操作,但是切记下图红框中的模板首行是不能进行更改的,同时也不支持在表中随意添加列。
  完成变量的编辑工作后需要导入到TIA Portal WinCC中,我们该如何操作呢?小伙伴们,关键步骤来了可得记仔细了。虽然变量导出时对变量表没有要求,但是在导入变量的时候,目前TIA Portal WinCC软件仅支持在“显示所有变量表”中导入,不支持在自定义的变量表和默认变量表中操作。如下图所示。
  虽然都是在“显示所有变量表”中操作,但是小伙伴们也不用担心变量的分组问题,可以在Excel中预先分配好变量所在变量表的名称,导入时系统会自动创建变量表并且会将变量分配到指定的变量表中。例如在导出的变量表基础上新增了变量
“Motor3_Current”、“Motor3_Voltage”和“Motor_IntArray“,并且重新分配变量至变量表“Motor”,再次执行变量导入操作选择导入文件。


导入变量至TIA Portal WinCC中“显示所有变量”表中的变量信息如下图所示。

TIA Portal WinCC中会自动创建自定义变量表“Motor”,同时变量会被自动分配到变量表“Motor”,如下图所示。

04
变量表导入导出的注意事项
变量导入导出操作中的特点和注意事项如下:


  • 导入变量时如果存在同名的对象,则使用已有对象。
  • 导入变量时如果没有同名的对象,则创建具有该名称的对象。
  • 对于用户自定义数据类型(UDT)HMI变量,不能通过Excel导出所有UDT的结构元素,导出表中只会出现较高级别的HMI变量,无法编辑其较低级别的元素。
  • 以上内容均针对的是HMI变量的操作,由于导出的PLC变量表和数据块结构的不同,不支持直接导入到HMI
05
导出的变量表主要格式说明




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

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

本版积分规则