[西门子] TIA博途SCL编程学习43_新娘和新郎

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


三对情侣参加婚礼,假设三个新郎为a、b、c,三个新娘为x、y、z。有人不知道谁和谁结婚,便询问了六位新人中的三位。得到的回答是:a说他将和x结婚,x说她的未婚夫是c,c说他将和z结婚。实际上他们都在开玩笑,说的全是假话。编写程序找出真正答案,谁将和谁结婚。



2 | 设计分析


给三位新郎进行编号,a、b、c分别对应1、2、3。a不与x结婚表示为x<>1,x的未婚夫不是c表示为x<>3,c不与z结婚表示为z<>3。题目隐含条件是三个新娘不能结为配偶,得到条件:x<>y且x<>z且y<>z。



3 | 创建功能或功能块


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




4 | 定义接口变量


具体接口变量定义见下图:
定义数据类型为整型数的一维数组#resultQs,用来输出对应新娘的新郎号,resultQs[1]代表新娘x,resultQs[2]代表新娘y,resultQs[3]代表新娘z。



5 | 程序代码


编写程序代码。如下图:


采用FOR循环穷举法循环配对,满足条件则输出结果。



6 | 代码测试


在循环OB中调用FB-“BrideAndGroom”,调用时会自动创建背景数据块,命名为“InstBrideAndGroom”,该背景数据块可以用来监视和修改数据。转至在线并监控程序。如下图:


得到结果为:新娘x的新郎为2号,即b;新娘y的新郎为3号,即c;新娘z的新郎为1号,即a。



7 | 总结


学习使用FOR循环语句;
学习使用循环嵌套;
学习使用IF条件语句;
学习一维数组的使用。
各版本 WinCC 与 S7-1200/1500 通信详解


1.1
概述
SIMATIC WinCC 从 V7.2 版本开始,提供了 “SIMATIC S7-1200、S7-1500 Channel" 驱动用于和S7-1200/1500 PLC 直接通信。此通信驱动仅支持 TCP/IP 协议,也就是说此通信方式只能用于以太网通信。
随着 SIMATIC WinCC 版本的升级,“SIMATIC S7-1200、S7-1500 Channel" 驱动也不断扩展性能以及增加新功能。本文将对不同版本的 SIMATIC WinCC 这一通信驱动的组态细节和注意事项做一番梳理,方便工程师在项目组态中“拿来”即可用。
注意:以下章节中关于低版本 WinCC 所描述的功能,在高版本中同样适用。


1.2
低于 WinCC V7.2 版本的相关设置
低于 WinCC V7.2 版本的软件不能直接和 S7-1200/1500 PLC 通信。如果老项目需要扩展这一通信需求,建议使用 OPC DA 的方式。
例如可以使用 SIMATIC NET 软件组态 OPC DA 服务器与 S7-1200/1500 通信,WinCC 作为 OPC DA 客户端通过 OPC DA 服务器间接地读取控制器数据。OPC DA 服务器可以和 WinCC 项目同时在一台计算机上运行。WinCC 正版软件包中就包括 SIMATIC NET 软件,如果是单独获取的SIMATIC NET 软件,请注意 WinCC 与 SIMATIC NET 软件需要满足兼容性。
WinCC V7.5 SP2 版本相关设置
WinCC V7.5 SP2 版本与 S7-1200/1500 详细的通信组态过程,建议参考“1.8 WinCC V7.5 SP1版本相关设置”,这些功能在新版本中仍然适用。以下是 V7.5 SP2 版本驱动的新增功能以及组态注意事项:
1.直接将 UDT 生成的 DB 块连接为一个结构
导入 AS 符号后,可以在列表中直接创建对应的结构。选择 AS 结构选项表,在对应的 WinCC 结构列中,用鼠标右键创建结构。
以下是创建后的结构
在 AS 符号列表中直接选择 AS 中对应的结构
返回变量管理,能看到创建的结构以及其下的结构变量


2.与 S7-1500/1200 支持加密通信(自 updata4 起)





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

本帖子中包含更多资源

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

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

本版积分规则