1 | 题目
给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。编写程序判断你是否能够到达最后一个位置。
示例1:
输入:[2, 3, 1, 1, 4];
输出:TRUE(可以到达最后一个位置);
解释: 我们可以先跳1步,从位置0到达位置1,然后再从位置1跳3步到达最后一个位置。
示例2:
输入: [3, 2, 1, 0, 4];
输出:FALSE(不可以到达最后一个位置);
解释: 无论怎样,你总会到达索引为3的位置,但该位置的最大跳跃长度是0,所以你永远不可能到达最后一个位置。
2 | 设计分析
本题目不能一开始就从最大长度进行跳跃,应该一次次遍历每个数组元素,采用贪心法,#statMaxStep表示每次能够到达的最远距离,比较#statMaxStep和#tempI + #nums[#tempI],求出上一步的最优解,当#statMaxStep小于#tempI的时候证明已经不可能到达终点了,直接返回false,当循环变量#tempI走到末尾时则证明可以达到最后的位置。
3 | 创建功能或功能块
创建功能块FB,命名为“JumpGame”。
4 | 定义接口变量
具体接口变量定义见下图:
定义了可变长(泛型或可变限值)长整数类型一维数组,数据类型为#Array
of DInt,作为跳跃数据。定义布尔型变量#resultQ作为判断结果输出,TRUE表示可以跳跃,FALSE表示不可以跳跃。
5 | 程序代码
编写程序代码。如下图:
当最大步#statMaxStep小于#tempI时,不能跳跃到最后位置,直接返回程序。当FOR循环变量能够到达最后时,说明可以跳跃到最后位置。
6 | 代码测试
在循环OB中调用FB-“JumpGame”。如下图:
定义了全局数据块(数组DB)GdbJumpGameData作为实参传递给形参,注意数组DB的实参表达方式。
转至在线并监控程序。如下图:
上图为跳跃数组数据:3、2、1、0、4。
上图为结果输出,#resultQ输出为FALSE,不可以跳跃到最后。
上图为跳跃数组数据:2、3、1、1、4。
上图为结果输出,#resultQ输出为TRUE,可以跳跃到最后。
7 | 总结
学习可变长一维数组的定义和使用;
学习使用FOR循环语句;
学习使用IF条件语句;
学习RETURN在程序中的作用;
学习在OB中调用FB和实参的传递方式。
公众号: 巨控电子( 扫码关注 )
微信技术群:PLC工业自动化社区 (加好友标注:姓名-城市)
对于1517H和1518HF在TIA Portal V18和FW3.0中有哪些变化呢?
更新一:长距离同步模块
扩展了远距离同步模块,1500H 两个CPU之间最远可达40KM。
更新二:支持R1系统冗余
除了之前就支持的PROFINET S2系统冗余,FW3.0中S7-1500H系统一个非常大的提升是开始支持PROFINET R1系统冗余。到底什么是S2?什么是R1呢?关于PROFINET系统冗余的几种模式的概念可以从以下知识小卡片中获取。
知识小卡片
► S1设备
指一般的PROFINET设备,在冗余系统中不具备无缝切换的能力,比如ET 200的标准型接口模块就属于S1设备(不过ET 200SP和MP的IO模块自身可以设置为输出保持的功能,可以在冗余CPU切换时候,保持输出从而也可实现无扰切换)。
► S2设备
指ET 200SP/MP高性能接口模块,虽然是单个接口模块,但是具有两条连接到CPU的链路,可以实现无缝切换。
► R1设备
指ET 200SP R1型接口模块,具备两个独立的网络通讯模块。
新支持的R1系统冗余需要搭配使用ET 200SP R1型接口模块,这也是新发布的产品,以下是对这款产品的介绍。
ET 200SP R1 系统组成包括:2x IM 155-6 PN R1接口模块1x BU-Type M0基座2x 相同的总线适配器1x SIMATIC 系统安装底板
IO 模块
基于1500H FW3.0和ET 200SP R1的双接口模块构建的PROFINET R1系统,可以组成双环网,双总线网。其基本网络架构如下:
基于FW3.0和TIA Portal V18中S7-1500H的网络架构更加丰富,可以满足各种复杂应用场景的需要
西门子WINCC
博途WinCC专业版C/S架构入门指南
咔!咔!咔!自动/停止/手动 - WinCC中的三档转换
按图索数-WinCC中的“地图+数据”
WinCC与S7-1500 R/H系统通信
通过Web Service与WinCC交互数据
可缩放矢量图形(SVG)在WinCC中的应用
WinCC V7.5典型架构及选型指南
自动语音播报WinCC报警消息
西门子TIA博途
1.S7-PLCSIM Advanced使用入门
2.使用PLCSIM Advanced仿真博途PID
3.使用PLCSIM Advanced仿真博途Modbus_TCP
4.使用PLCSIM Advanced仿真博途S7-1500 OPC UA
西门子TIA博途SCL学习
1.西门子PLC用TIA博途SCL语言写的一个产生随机实数的指令块(学习1)
2.TIA博途SCL编程学习2_sin(x)
3.TIA博途SCL编程学习3_两个数的计算器
4.TIA博途SCL编程学习4_选择法排序
5.TIA博途SCL编程学习5_一串数字的加法
6.TIA博途SCL编程学习6_数组逆序
7.西门子TIA博途S7-1200/1500学习7间接寻址指令PEEK的使用
8.TIA博途SCL编程学习8_计算N天后的日期
9.TIA博途SCL编程学习9_百鸡百钱
10.TIA博途SCL编程学习10_字符串日期转换成DATE数据类型
11.TIA博途SCL编程学习11_多条件与运算
12.TIA博途SCL编程学习12_数组求和两种算法比较
13.TIA博途SCL编程学习13_电机正反转加点动
14.TIA博途SCL编程学习14_填表格
15.TIA博途SCL编程学习15_素数判断
16.TIA博途SCL编程学习16_歌德巴赫猜想验证
17.TIA博途SCL编程学习17_选择法排序
18.TIA博途SCL编程学习19_分数段人数统计
19.TIA博途SCL编程学习19_分数段人数统计
20.TIA博途SCL编程学习20_换钱
21.TIA博途SCL编程学习21_4个数字中的3个数字的排列组合
22.TIA博途SCL编程学习22_奖金计算
23.TIA博途SCL编程学习23_求最大公约数和最小公倍数
24.TIA博途SCL编程学习24_一串数字的加法
25.TIA博途SCL编程学习25_找出1-1000之间的完数
26.TIA博途SCL编程学习26_小球反弹高度
27.TIA博途SCL编程学习27_猴子吃桃
28.TIA博途SCL编程学习28_一个分数序列加法
29.TIA博途SCL编程学习29_五位数分解
30.TIA博途SCL编程学习30_捡鸡蛋
31.TIA博途SCL编程学习31_HelloWorld
32.TIA博途SCL编程学习32_幂
33.TIA博途SCL编程学习33_水仙花数
34.TIA博途SCL编程学习34_完数
35.TIA博途SCL编程学习35_另类比大小
36.TIA博途SCL编程学习36_自然数反转
37.TIA博途SCL编程学习37_数字加密
38.TIA博途SCL编程学习38_三种方法求最大公约数
39.TIA博途SCL编程学习39_友好数
40.TIA博途SCL编程学习40_平方回文数
41.TIA博途SCL编程学习40_斐波那契数列
42.TIA博途SCL编程学习41_大数乘法
43.TIA博途SCL编程学习42_三位数的组合
44.TIA博途SCL编程学习43_新娘和新郎
45.TIA博途SCL编程学习44_韩信点兵
46.TIA博途SCL编程学习45_过桥问题
47.TIA博途SCL编程学习46_分鱼问题
48.TIA博途SCL编程学习47_跳跃游戏
49.TIA博途SCL编程学习47_狼追兔子
50.TIA博途SCL编程学习50_扑克牌顺子判断
51.TIA博途SCL编程学习51_邮票组合
52.博途SCL编程实例泵顺启逆停的状态机
53.TIA博途SCL编程学习52_邮票组合抓捕交通肇事犯
54.TIA博途SCL编程学习53_求车速
组态软件远程监控
1.本地上位SCADA系统采集分布各地现场PLC等设备运行的数据,并可以下发控制指令;
2.提供OPC接口服务(OPC UA 及OPC DA),常年稳定运行,规模可达10万数据点;
3.支持Kepware,Wincc(含博途),IFIX,INTOUCH,组态王,力控等上位机软件,完美兼容;
4.配巨控免费组态软件,可实现图形界面,远程视频(萤石云)、报表系统,报警等。
5.支持多台上位机同时监控,采用转发压缩技术,多客户端不增加流量费用。
6.独有压缩和多包并发技术,远程通过4G上网,数百个数据点,上位机可保证秒级内响应。
1.远端现场PLC等工控设备和巨控PLC无线通讯模块连接,可使用串口,网口等多种通讯方式。
2.无线通讯模块可通过4G/WiFi/以太网多种方式连接巨控云安全服务器。
3.本地数据中心的上位SCADA系统能上网即可通过OPC采集数据,无需固定IP,端口映射。
4.如果有多台巨控模块,可以通过一台上位机集中监控各地的PLC。
5.如上位机无法上网,或不想暴露在公网,可选配巨控4G安全路由器(GK-ROUTER)。
1.巨控PLC无线通讯模块可支持西门子,三菱,欧姆龙,AB和各种国产PLC。
2.巨控PLC无线通讯模块通过MODBUS可以支持各种变频器,仪表,触摸屏。
3.巨控PLC无线通讯模块自带IO,可直接接开关量,模拟量传感器,测温探头等。
1.非透传模式,全部数据加密,平台具备赛门铁克安全认证,确保数据安全。
2.采用先进的压缩算法,节约远程模块流量,典型应用一个月仅需100M流量。
3.多包并发技术,采用4G上网,同时监控数百个变量,上位机也可做到秒级以内响应速度。
|