设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
TIA博途SCL编程学习46_分鱼问题
返回列表
发新帖
[西门子]
TIA博途SCL编程学习46_分鱼问题
[复制链接]
256
|
0
|
2024-5-16 14:23:55
|
显示全部楼层
|
阅读模式
1 | 题目
A、B、C、D、E五人夜间合伙捕鱼, 凌晨时都疲倦不堪,各自在河边的树丛中找地方睡着了。日上三竿, A第一个醒来,他将鱼分作五份,把多余的一条扔回河中,拿自己的一份回家去了。B第二个醒来, 也将鱼分作五份,扔掉多余的一条,拿走自己的一份。接着C、D、E依次醒来,也都按同样的办法分鱼。编写程序计算五人至少合伙捕了多少条鱼。
2 | 设计分析
采用穷举试探法,令试探值逐渐增大。
3 | 创建功能或功能块
创建功能块FB,命名为“FishDivision”。
4 | 定义接口变量
具体接口变量定义见下图:
定义数据类型为整型数的静态变量#statFishNum作为至少捕鱼数量的结果输出,定义数据类型为整型数的临时变量#tempFishNum用来存储分鱼过程中鱼的动态数量。
5 | 程序代码
编写程序代码。如下图:
试探过程中鱼的数量分不开时用EXIT指令跳出FOR循环,回到WHILE循环继续试探。
6 | 代码测试
在循环OB中调用FB-“FishDivision”,调用时会自动创建背景数据块,命名为“InstFishDivision”,该背景数据块可以用来监视和修改数据。转至在线并监控程序。如下图:
得到结果:五人至少合伙捕了3121条鱼。
7 | 总结
学习使用WHILE循环语句;
学习使用FOR循环语句;
学习使用IF..ELSE条件语句;
学习组合赋值的使用;
学习EXIT语句在循环中的作用。
- END -
参见下图:
旧款
6ES7513-1RL00-0AB0
6ES7515-2RM00-0AB0
最高FW2.9
新款
6ES7513-1R
M
0
3
-0AB0
6ES7515-2R
N
0
3
-0AB0
最高FW3.0
新的显示面板
和标准CPU统一显示面板,更耐用
显示面板响应速度更快
面板固件集成于CPU,无需单独更新固件
统一的CPU显示面板,更可靠,操作更便捷!
采用新芯片的1500冗余CPU,性能大幅度提升,性价比进一步凸显,可以更好满足各种应用的需求!后面我们还将介绍FW3.0给
1500H系列
CPU带来的功能提升,也敬请关注。
关于 WinCC 的
授权
WinCC采用虚拟化部署和非虚拟化实机部署所需要购买的授权是一样的。
WinCC亚洲版运行时,会检测硬件加密狗。在ESXi的虚拟机中,可以将硬件加密狗视作普通USB设备,通过硬件直通的方式添加。由于物理服务器的USB端口资源有限,一般通过基于以太网的USBHUB集线器解决(AnywhereUSB® 的Remote I/O Concentrator)。
下图是1个现场实际项目的照片,项目采用了虚拟化部署方式,虚拟了50多台WinCC服务器和客户机(上面4个USB集线器HUB,黄色U盘为WinCC硬件加密狗;最下面为物理服务器)
WinCC与S7-1500R/H冗余系统通信有2种方式
方法1.
WinCC通过S7-1500R/H的系统IP通信,这时S7-1500R/H的2个CPU被看作1个PLC,系统IP自动连接到主PLC。当主PLC宕机后,WinCC通过此系统IP自动切换到备用PLC上。这种方式组态简单,与单PLC无异,WinCC通信连接中的IP地址输入S7-1500R的系统IP即可。
这种方式适用PC是单网卡的网络结构
方法2.
WinCC V7.5 SP1 开始支持通过”系统变量“控制的S7-1500R/H冗余通信。可支持单网卡的网络,也可支持双网卡的冗余网络。
原理:WinCC与主PLC的固定IP通信,监视”通讯连接状态的系统变量“,当主PLC宕机后,WinCC通过“通信控制变量”切换到备用PLC的固定IP进行通讯。
组态步骤如下:
第一步:
创建连接
在WinCC中创建CPU1的连接,用其固定IP地址
第二步:
创建系统变量
在WinCC连接下,手动创建系统变量,变量名格式为“@连接名称@变量名称”。变量地址为空或者使用PLC中没有用到的地址。其变量名称和数据类型如下
各系统变量的作用如下:
“@@ForceConnectionState” :用来建立/终止冗余连接,设置为1:建立连接,设置为0:断开连接。这里此变量建议设置初始值为1
“@@ConnectionState” :用来反馈冗余连接状态, 值为1时代表连接已经建立,值为0时代表连接已经断开
“@@ConfiguredAddress” :用来反馈所组态的连接参数属性。格式为“AccessPoint=访问点名称;IPAddress=PLC IP地址;”
“@@AlternativeAddress” :设置与备用 CPU(CPU2) 的连接的参数属性,格式为“AccessPoint=访问点名称;IPAddress=备用PLC IP地址;”,
需要设置初始值
备用连接和组态的连接可以使用同一个访问名,也可以使用不同的访问名。使用不的访问名时,WinCC可以指定两块网卡分别连接S7-1500R的两个CPU。
“@@CurrentAddress” :反馈当前连接的参数属性。
“@@UseAlternativeAddress” : 设置使用组态的连接还是备用连接,设置为1:使用备用连接,设置为0:使用组态的连接。
“@@OpStateConfiguredAddress ” :读取S7-1500R的CPU1 当前的操作模式,0: not connected,4: STOP,6: STARTUP,8: RUN,22: SYNCUP。
“@@>@OpStateConfiguredAddress” :读取S7-1500R的CPU2 当前的操作模式,0: not connected,4: STOP,6: STARTUP,8: RUN,22: SYNCUP。
“@@RedundantCPUs” :指示所连接的控制器是否冗余,设置为1:代表所连接的PLC是S7-1500R/H,设置为0代表所连接的PLC是非冗余的S7-1200/1500。这里设置初值为1。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
巨控电子
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』