S7-1200第一项计划–家庭洒水系统在之前的文章中,我介绍了安装和授权TIAPortal软件,设置和配置CPU和I / O模块,以及编译和下载程序,与S7-1200CPU通讯。有了这些必要的第一步,我就可以开始进行一些编程了。
就像对我来说是新的任何控制系统一样,学习术语和完成所需方法的方法既费时又费力。
阅读手册,浏览TIA Portal,阅读帮助以及在线搜索示例和问题都是学习系统的方法。我需要提出一些对其他工控工程师和博客读者有意义的项目,使它像第一个程序一样简单。我还希望在以后的文章中可以建立一些基础。我决定要做的是对S7-1200进行编程,使其运行家用草坪洒水系统。这将使我能够利用功能块功能,一旦创建该功能块,就可以在项目“草坪”中的每个喷头/区域中重复使用该功能块。步骤1–创建功能块 通过单击“添加新块”,你可以针对不同类型的块创建多个选项。在我的第一个创作中,我决定创建一个功能块,该功能块将执行用于运行每个洒水区域的逻辑。。
我将功能块命名为“ Sprinkler_Zone”,它显示在下面的屏幕截图中:。
该功能块将监视确保该序列有效且当前步骤有效的参数。它将启动一个计时器,该计时器将操作洒水器,直到完成为止。计时器完成后,它将提供输出以继续进行下一步。。
第2步-创建数据块。
这些数据块将包含数组。一个数据块称为ZONE_PRESETS,该数组将保存所有定时器预设,每个喷洒器区域将运行多长时间。。
另一个数据块称为ZONE_ELAPSED,它将包含占位符,用于占空时间,可以在每个区域运行时对其进行监视。。
步骤3 – OB1主例程。
在我的主要例程中,我正在创建一个简单的序列。这将从存储位或按键开关的输入开始,并通过存储位手动复位或在序列结束时复位。。
我还创建了一个计数器,该计数器将与序列的步骤保持一致,并与每个洒水喷头的区域相对应。(例如:步骤1=区域1,步骤2 =区域2…等。)。
步骤4 –插入功能块。
现在,我可以在这里在序列中使用我的功能块。插入功能块时,可以连接每个区域不同的所有不同变量。功能块的本地输入:FB必须监视SEQ_ACTIVE为“TRUE”FB必须监视当前步骤是否处于活动状态我为这一步输入了ZONE_PRESETArray值,以便该区域可以运行所需的时间。(允许用户在每个区域中运行不同的时间)功能块的本地输出:ZONE_ELAPSED计时器值返回到数组,可以对其进行监视实际物理输出(Q)将写入每个区域的分配输出。防区完成运行后,进入下一步的脉冲将变为活动状态。我将其中的六个“Sprinkler_Zone”实例(功能块)与它们各自的数据块一起插入到我的网络中。这使我拥有六个正在运行的功能块实例,而不是要完成相同逻辑所需的十八个网络。。
Zui后,我有一个程序段,可以在每个区域完成时增加我的计数器。。
结论。