[西门子] TIA博途SCL编程学习54_公式法计算圆周率(Π的近似值)

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


利用反正切的傅里叶展开式:π/4=1-1/3+1/5-1/7+1/9-1/11+…,计算圆周率即π的近似值,直到最后一项的绝对值小于0.000001为止。



2 | 设计分析


注意到题目中等式右半部分分母为差为2的等差数列,符号位正负交替,采用WHILE循环连加构造傅里叶展开式的右半部分,直到到达题目要求的最后一项的精度后结束循环。



3 | 创建功能或功能块


创建功能块FB,命名为“PiApproxVal”。




4 | 定义接口变量


具体接口变量定义见下图:
定义变量#termCountQ用来记录到达目标精度时所经历的项数,为了方便监控将和计算过程相关的所有变量定义为Static静态变量。



5 | 程序代码


编写程序代码。如下图:


从傅里叶展开式中可以看到1为首项,所以计数初始值从1开始。注意精度部分采用了科学记数法。



6 | 代码测试


在循环OB中调用FB-“PiApproxVal”,调用时会自动创建背景数据块,命名为“InstPiApproxVal”,该背景数据块可以用来监视和修改数据。转至在线并监控程序。如下图:
经过50万次循环后(PLC运行的很辛苦),到达题目要求的末项精度0.000001,得到圆周率π的近似值为:3.141598。



7 | 总结


学习使用WHILE循环语句;
学习组合赋值运算符的使用;
学习科学记数法。

西门子WINCC触摸屏变量的批量处理

项目规模比较大时,触摸屏项目的变量会非常多,如果手动一个个去新建或者逐个修改变量属性费时费力,一个便于操作的好办法是:指导入导出操作
01
HMI变量介绍
众所周知,变量是触摸屏和PLC通信的中间桥梁。触摸屏的变量主要分为内部变量和外部变量,内部变量和PLC没有任何关系,只能在触摸屏项目内部使用,只有运行系统处于运行状态时变量值才可用。外部变量是来自于PLC的变量,外部变量的值与PLC存储器中的过程值相对应,可以实现过程值的读取和写入操作。
02
变量表导入导出操作
  了解了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”,如下图所示。

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


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




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

本帖子中包含更多资源

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

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

本版积分规则