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和实参的传递方式。
- END
冗余PLC类型
S7-1500冗余系列CPU目前一共有四种,基本参数及订货号如下:
1. TIA 博途与SIMATIC S7-1500可编程控制器
百页彩页介绍,清晰产品定位
2. SIMATIC S7-1500T 工艺型CPU
运动型CPU,关键数据快速查询
3. SIMATIC S7-1200 可编程控制器
图解1200,结构清楚明了
众所周知,PLC是工业自动化的核心,所以CPU也是大家关注的重点。其实对于一个完整的自动化系统来说,IO模块是必不可少的组成部分,通过IO才能将传感器的信号传递给PLC,并将PLC的处理结果返回执行机构,从而完成控制功能。
西门子分布式IO家族ET 200系列在自动化领域的应用也非常广泛。根据防护等级有以下两种分类:
- IP20,柜内使用的IO模块
- IP65/67,无需控制柜的高防护IO模块
以一条饮料生产过程的装配线为例,可以看到不同IO模块对应的应用场景。
<hr>下面根据防护等级的划分,做进一步详细介绍。01
SIMATIC ET 200 IP20
IP20柜内产品中,包括ET 200MP和ET 200SP。① S7-1500 I/O和
ET 200MP
ET 200MP是S7-1500 I/O分布式扩展,模块具有更高IO密度,单站最多扩展32个模块,适合集中式机柜。
②③ ET 200SP
紧凑型 I/O 系统,功能丰富,单站最大支持64个模块,适合分布式安装,接入生产线上比较分散的信号,节约电缆布设。
④ ET 200SP分布式控制器
分布式智能从站,具有ET 200SP控制器和ET 200SP开放式控制器两类控制器,可以就近实现控制功能。
02
SIMATIC ET 200 IP65/67
IP65/67柜外IO产品,通常称为高防护等级产品。
⑤⑥ ET 200AL
紧凑型块状IO系统。可正装或侧装,也可直接安装在生产线的铝型材框架上、机械手臂、拖链上等。
⑦ ET 200pro
可进行机架式扩展的IO模块,并可扩展电机启动器和变频器模块,如应用于物流传输系统,置于传送带旁。
⑧ ET 200eco PN
以下内容均来自西门子官方
- 工业在线支持SIOS(Siemens Industry OnlineSupport)
https://support.industry.siemens.com/cs/cn/zh/ps
该网站的正确打开方式可转至以下链接:
西门子软件手册下载、问题查询等保姆级教程
<hr>
安装篇
- 哪里可以获得TIA Portal V17的STEP 7、WinCC和Startdrive当前试用软件?
https://support.industry.siemens.com/cs/cn/zh/view/109798506
- 在哪里可以找到TIA Portal产品版本的手册和软件更新?
https://support.industry.siemens.com/cs/cn/zh/view/109779999
- STEP 7 (TIA Portal) 版本与 Mirosoft Windows 操作系统版本之间的兼容性如何?
https://support.industry.siemens.com/cs/cn/zh/view/51120883
- 可以在 Windows11 中安装TIA Portal 吗?
https://support.industry.siemens.com/cs/cn/zh/view/109806872
- 如何禁止“在安装任何程序之前请重新启动电脑”?的信息
https://support.industry.siemens.com/cs/cn/zh/view/8861819
- 安装STEP 7 Professional / Basic V17 的必要条件是什么?
https://support.industry.siemens.com/cs/cn/zh/view/50204569
- 系统分区空间不足的情况下如何安装 TIA Portal 和 TIA Portal 更新包?
https://support.industry.siemens.com/cs/cn/zh/view/109482855
- 如何在SIMATIC IPCs 安装 .NET Framework 3.5 ? (例如 WinCC TIA Portal,STEP 7 TIA Portal 或 WinCC V7)
https://support.industry.siemens.com/cs/cn/zh/view/109745988
博途STEP7篇
- 如何在STEP 7 (TIA Portal) 中更新硬件目录?(安装HSP)
https://support.industry.siemens.com/cs/cn/zh/view/54163658
- 如何在STEP7 (TIA Portal)中安装GSD文件以及不同版本的STEP7 (TIA Portal)所支持的GSD文件版本?
https://support.industry.siemens.com/cs/cn/zh/view/109738401
- 在STEP 7 (TIA Portal)的硬件目录中无法找到S7-1500 CPU的固件版本时,如何加载项目数据?https://support.industry.siemens.com/cs/cn/zh/view/109744163
- 在TIA Portal 硬件目录中,如果没有CPU1511/1513/1511C/1512C的新订货号,如何组态?
https://support.industry.siemens.com/cs/cn/zh/view/109760846
- 打开一个STEP7 (TIA Portal)项目时,为什么会弹出产品缺少必要组件的信息?
https://support.industry.siemens.com/cs/cn/zh/view/109739054
博途WinCC篇
- WinCC 脚本使用方法和技巧 (TIA Portal )
https://support.industry.siemens.com/cs/cn/zh/view/57132412
- WinCC (TIA 博途)提供了哪些 VBS 信息和 VBS 编程工具?
https://support.industry.siemens.com/cs/cn/zh/view/59885894
- 如何同时使用多台显示器显示WinCC (TIA Portal) Runtime Professional的画面?
https://support.industry.siemens.com/cs/cn/zh/view/109744837
- 为什么 WinCC Runtime V7.5 及更高版本或Professional V16 及更高版本归档数据库的片段比以前的版本大?
https://support.industry.siemens.com/cs/cn/zh/view/109802716
- 为什么在TIA Portal V16/ V17 中加载 HMI 镜像失败,并且提示错误消息“目标设备上安装了不同版本的组件。目标设备上存在较旧的不兼容固件镜像”?
https://support.industry.siemens.com/cs/cn/zh/view/109781234
- 如何远程访问WinCC 站点(WinCCV7 和 WinCCProfessional 和Unified)?
https://support.industry.siemens.com/cs/cn/zh/view/78463889
通信篇
- 如何在两个TIA Portal项目中配置PROFIBUS/PROFINET通信?
https://support.industry.siemens.com/cs/cn/zh/view/109792607
- 两个S7 CPU间如何组态和编程S7连接并通过“BSEND”和"BRCV"进行数据传输?
https://support.industry.siemens.com/cs/cn/zh/view/18516182
- 如何对 S7-1500 CPU 和 S7-1200 CPU 之间的 Modbus/TCP 通信进行编程和参数化 ?
https://support.industry.siemens.com/cs/cn/zh/view/102020340
- 如何使用STEP 7 ( TIA Portal ) 为 SIMATIC S7-1200 建立 MODBUS - RTU 通信?
https://support.industry.siemens.com/cs/cn/zh/view/47756141
- SIMATIC和SITOP产品如何支持OPC UA通信?
https://support.industry.siemens.com/cs/cn/zh/view/109763315
- 使用 S7-1500 和 S7-1200 做 OPC UA 服务器有哪些系统限制?
https://support.industry.siemens.com/cs/cn/zh/view/109755846
- 如何在STEP7 (TIA Portal)中组态CP343-1作为PROFINET I-device ?
https://support.industry.siemens.com/cs/cn/zh/view/109744406
- 在STEP 7 (TIA Portal)里哪些 IO 控制器和 IO 设备支持下列功能:IRT, 优先启动, MRP, MRPD, PROFIenergy, 共享设备, MSI/MSO, 智能设备, 等时同步模式,系统冗余和组态控制?
https://support.industry.siemens.com/cs/cn/zh/view/102325771
- NAT 解决 IP 冲突问题
https://support.industry.siemens.com/cs/cn/zh/view/109803423
- WinCC (V7 or Professional) OPC 通讯的配置要求?
https://support.industry.siemens.com/cs/cn/zh/view/109763316
授权篇
- 有关SIMATIC软件许可证的FAQs和下载概览
https://support.industry.siemens.com/cs/cn/zh/view/109804591
- 如何恢复受损的许可证密钥和授权?
https://support.industry.siemens.com/cs/cn/zh/view/772175
- 尽管安装了浮动授权,仍提示试用授权过期,如何停用试用授权?
https://support.industry.siemens.com/cs/cn/zh/view/24200966
- 关于 WinCC(TIA Portal) 授权的一些实用信息
https://support.industry.siemens.com/cs/cn/zh/view/74796111
技术支持篇
- 如何向西门子工业技术支持部门发送诊断技术问题所需的文件?
https://support.industry.siemens.com/cs/cn/zh/view/18194667
- 如何通过西门子工业技术支持进行远程会话?
https://support.industry.siemens.com/cs/cn/zh/view/106665159
以上链接也整理了PDF格式,后续会不断更新至该文档。下载链接:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |