图3-43分拣单元步进控制流程图根据步进控制流程图,下面给出初始步、黑白检测步、分配物料槽步和物料入槽步的梯形图。图3-44分拣单元的初始步梯形图程序图3-45分拣单元的黑白检测步梯形图程序图3-46分拣单元的分配物料槽步梯形图程序图3-47分拣单元的物料入槽步梯形图程序3.程序的调试本工作任务的分拣要求并不复杂,但要准确判别工件属性、在目标料槽气缸中心位置平稳地推出工件,则需要进行细致的调试。......
2025-09-29
由前述例子可以看出,模块化编程可能会存在大量的重复代码,块不能被分配参数,程序只能用于特定的设备,但是,在很多情况下一个大的程序要多次调用某一个功能,这时应建立通用的可分配参数的块(FC、FB),这些块的输入输出使用形式参数,当调用时赋给实际参数,这就是结构化编程。
结构化编程有如下优点:
1)程序只需生成一次,显著减少了编程时间。
2)该块只在用户存储器中保存一次,显著降低了存储器用量。
3)该块可以被程序任意次调用,每次使用不同的地址。该块采用形式参数(INPUT、OUTPUT或IN/OUT参数)编程,当用户程序调用该块时,要用实际地址(实际参数)给这些参数赋值。
结构化编程就要涉及到FC和FB中使用局部存储区,使用的名字和大小必须在块的声明部分中确定,如图6-37所示。当FC或FB被调用时,实际参数被传递到局部存储区。之前我们使用的是全局变量,如位存储区和数据块来存储数据,下面利用局部变量来存储数据。局部变量分为临时变量和静态变量两种,临时变量是一种在块执行时用来暂时存储数据的变量,如图6-37所示。如果有一些变量在块调用结束后还需保持原值,则必须被存储为静态变量,静态变量只能被用于FB块中。赋值给FB的背景数据块用做静态变量的存储区。关于静态变量的详细使用将在后续章节进行说明。
对于可传递参数的块,在编写程序之前,必须在变量声明表中定义形式参数。表6-3列举了几种类型的参数及定义方法。注意,当需对某个参数做读、写访问时,必须将它定义为IN/OUT型参数。
表6-3 形式参数的类型

在声明表中,每一种参数只占一行。如果需要定义多个参数,可以用回车键来增加新的参数定义行,也可以选中一个定义行后,通过菜单命令“插入”→“声明行”来插入一个新的参数定义行。当块已被调用后,再插入或删除定义行,必须重新编写调用指令。
现在重新编写前述电动机的控制电路程序。
新建块FC4,定义形式参数如图6-38所示。使用形式参数编写FC4程序,如图6-39所示。
要注意以下问题:
1)如果在编程一个块时使用符号名,编辑器将在该块的变量声明表查找该符号名。如果该符号名存在,编辑器将把它当做局部变量,并在符号名前加“”号。
2)如果它不属于局部变量,则编辑器将在全局符号表中搜索。如果找到该符号名,编辑器将把它当做全局变量,并在符号名上加引号。
3)如果在全局变量表和变量声明表中使用了相同的符号名,编辑器将始终把它当做局部变量。然而,如果输入该符号名时加了引号,则可成为全局变量。
(https://www.chuimin.cn)
图6-38 FC4程序
在OB1中调用FC4,输入实际参数,如图6-39所示。可以看出,此时的FC4有两个输入参数和一个输入输出参数,分别输入相应的实际地址,实现的功能与前述例子相同,但是此时只编写了一个块FC4。

图6-39 调用FC4
重新编写前述求取平方根例子程序,定义局部参数并编写程序,如图6-40所示。

图6-40 求取平方根例子程序
【例6-4】工业生产中,经常需要对采集的模拟量进行滤波处理。本例通过将最近三个采样值求和除以3的方式来进行软件滤波。假设模拟量输入处理后的工程量存储在MD44中,为浮点数据类型。
编程思路:将采集的最近的三个数保存在三个全局地址区域,每个扫描周期进行更新以确保是最新的三个数,三数相加求平均即可。
首先定义FC5的形式参数,如图6-41所示。注意:定义的形式参数中,三个采集值Value1、Value2和Value3的参数类型为IN_OUT型,不能为TEMP型,否则将无法保存该数值。
在FC5中编写程序,如图6-41a所示。“程序段1”的含义是根据循环扫描工作方式从左到右的顺序将三个最近时间的采集值保存,注意三个MOVE指令的次序不能改变;“程序段2”的含义是将三个数相加除以3求平均值。
图6-41b中,调用FC5,并赋值实际参数,求得的平均值存放在MD72中。这样,通过不同的实际参数可以重复调用FC5进行多路滤波。
但是,通过此例也可以看出一个问题:我们关心的只是三个数的平均值,而调用FC1子程序时,却需要为三个采集值寻找全局地址进行保存,麻烦且容易造成地址重叠,能不能既不用人为寻找全局地址而又能保存数值呢?通过FB就可以实现。

图6-41 程序例子
a)子程序FC1 b)主程序OB1
相关文章
图3-43分拣单元步进控制流程图根据步进控制流程图,下面给出初始步、黑白检测步、分配物料槽步和物料入槽步的梯形图。图3-44分拣单元的初始步梯形图程序图3-45分拣单元的黑白检测步梯形图程序图3-46分拣单元的分配物料槽步梯形图程序图3-47分拣单元的物料入槽步梯形图程序3.程序的调试本工作任务的分拣要求并不复杂,但要准确判别工件属性、在目标料槽气缸中心位置平稳地推出工件,则需要进行细致的调试。......
2025-09-29
前者称有名制,后者称标么制。而通过运算将会发现,标么制的这一特点也是它的一个优点。试分别按两种方法作基准功率为1000MVA、基准电压为220kV时该网络的标么制等值电路。因而例2-2中已求得各元件归算至220kV侧的阻抗、导纳,按第一种方法计算时可直接取进行标么值的折算。按第二种方法计算时,可先求得归算至其他各级的电压基准值然后再进行标么值的折算。......
2025-09-29
为了使气缸能自如动作,应清空供料单元料仓内的工件。接通供料单元电源,确保PLC在STOP状态。供料单元的工作是供料控制,它是用一个单序列的步进顺序控制来实现的。图3-11供料单元推料动作梯形图程序编写完成后下载到PLC内,对供料单元进行整机调试,调试注意事项如下:①调整气动部分,检查气路是否正确,气压是否合理,气缸的动作速度是否合理。......
2025-09-29
表3-20输送单元异常情况检测梯形图紧急停车处理的程序梯形图如图3-57所示。图3-62输送单元机械手放下工件梯形图3.程序调试注意事项在FX系列PLC的系统中,步进顺序程序必须在主程序中编制,子程序中不能使用STL/RET指令,否则会发生代号为6606的错误。......
2025-09-29
下面开始对PLC进行编程。单击图4-6左下角的“Portal视图”,返回到Portal视图,单击左侧的“PLC编程”项,可以看到选中“显示所有对象”时,右侧显示了当前所选择PLC中的所有块,双击“main”块,打开程序块编辑界面,如图4-7所示。也可以在项目树下直接双击打开PLC设备下程序块里的“main”程序块。......
2025-09-29
低周疲劳的循环应力往往是很高的,这种疲劳往往接近或超过材料的屈服强度,材料在每次应力循环中,都会产生一定量的塑性变形。由于构件在热膨胀及冷收缩时受到约束,因而在局部或不均匀区产生较大的局部变形,同时伴有较大的应力集中,容易引起热疲劳裂纹和损坏,降低钢的疲劳强度。......
2025-09-29
高中社会实践总结报告今年暑假我参加了一次意义重大的社会实践活动,这次经历让我更加深刻地认识到社会实践的重要性,同时也是对自己能力的一次检验。我在这次......
2025-04-09
相关推荐