电动机功率 | 8kW | 外形尺寸 | 4mm |
---|---|---|---|
应用领域 | 环保,食品/农产品,地矿,包装/造纸/印刷,纺织/印染 | 重量 | 5kg |
西门子数控系统显示300608伺服故障维修,西门子数控系统维修,数控系统伺服驱动器维修,数控系统伺服电机维修,西门子802DSL面板维修,按键操作失灵维修,花屏维修,黑屏维修,无显示维修,西门子整流单元维修,西门子数控系统显示300608伺服故障维修,西门子802DSL数控系统维修,数控系统报25201伺服故障维修,数控系统接地故障维修。
![]() |
参考价 | ¥322 |
订货量 | 1 |
更新时间:2019-06-28 16:53:24浏览次数:244
联系我们时请说明是化工仪器网上看到的信息,谢谢!
西门子802C数控系统画面不动死机维修
前面两个例子描述的同样的功能可以作为局部实例被调用。本例将编写一个功能块命名为“Feed”(给料),用于控制四条传送带和对传送的零件计数。在此功能块中,FB“Conveyor_Belt”调用了四次,FB“Parts_counter”调用了一次。调用不会发生在带有实例数据块的情况下。但是,调用的各个FB将把数据存储在功能块“Feed”的实例数据块中。
图19-6给出了各个独立的传送带控制器是如何连接的(这里未描述FB“Parts_counter”)。启动信号与belt1(传送带1)控制器的Start输入相连。ready_rem输出连接到belt2(传送带2)控制器的Start输入,等等。后,控制器belt4(传送带4)的输出ready_rem连到输出“Feed”的输出Remove。从Remove的continue信号到Readyload,后到Load,其信号顺序一样,只是方向相反。
Belt_mot_on、Light_barrier和/Mfault(电机故障)是几个独立的传送带信号;通过Basic_st、Man_on和Stop信号,Reset、Man_Start和Stop信号控制着全部的传送带。
下面的功能块“Feed”的程序都是按相同方法设计的。从图中可以得到功能块的输入/输出参数。此外,零件计数器用的是Quantity、Dura1和Dura2,这里它们的值作为输入参数。以描述用户自定义类型*一样的方法,来声明静态局部数据中的每个传送带控制器的数据以及零件计数器的数据,例如用名称和数据类型。“Belt1”、“Belt2”等变量的数据结构来自于功能块“Conveyor_Belt”,变量Check的数据结构来自功能块“Parts_counter”。
对所有传送带,功能块中程序都从共有信号初始化开始。这里,正是利用了这样一个事实,即作为局部实例调用的功能块的块参数在当前块中是静态局部数据,并且可以做这样的处理。当前功能块中的块参数Man_start以一个简单的赋值控制着所有四个传送带控制器的Man_on输入参数。信号Stop和Reset也可以以同样的方法处理。到此,以共有信号对传动带控制器初始化完毕(当然,也可以在调用块时再初始化这些输入参数)。
传送带控制器功能块的后续调用只包含每个传送带单个信号的块参数和到“Feed”块参数的连接。单个信号是挡光板信号、传送带电机控制命令和电机故障信号(当一个功能块被调用时,并非所有的块参数都要初始化)。
通过赋值操作来编程单个传送带控制器之间的连接。
即使FB“Parts_counter”和传送带控制器的信号之间没有更近的连接,该功能块还是作为局部实例被调用。“Feed”的实例数据块保存在FB数据中。
“Feed”的输入参数Quantity、Dura1和Dura2只需设定一次。可以使用默认值设定(如例子)或在OB 100的重启程序中设定(如果这三个参数作为全局数据,则可以直接赋值)。
在STL_Book库下的“Conveyor Example”中,源程序包含功能块“Feed”和相关的实例数据块“FeedDat”。后,功能块“Feed”的调用显示在主程序的实例数据块中。
本例给出了基本数据类型块参数的处理实例。“Parts Counter”(零件计数器)例子来源于在前面文章中的“计数器功能”,是该功能的基本用法。这里,同样的功能是用一个功能块实现的,其所有的全局变量都可以作为块参数或静态局部数。
通过参数类型为TIMER和COUNTER的块参数来传递定时器功能和计数器功能。这些块参数必须为输入参数。计数器( Quantity)和定时器(Dura1和Dura2)的初始值也必须以块参数来传递,块参数的数据类型必须与相应的实参的数据类型*。
边沿存储位存储在静态局部数据中,脉冲存储位存储在暂态局部数据中。
在原书磁盘目录下“STL_Book”库下的程序“Conveyor Example”,可以找到可执行的编程例子。该源程序包含了功能块“Parts_counter”(零件计数器)和相关的实例数据块“CountDat”,以及带实例数据块的功能块的调用。
本例给出了通过块参数实现的信号状态的传送。为此,使用艾特贸易网在前面文章中描述的传送带控制系统的功能来说明。传送带控制系统位于功能块中,并且所有的输入/输出都通过块参数来引出,故可以重复调用功能块(用于多个传送带)。图19-4给出了功能块的输入、输出参数和所使用的静态局部数据。
下列情况下的参数分配相当简单:所有作为输入的二进制地址都可以作为输入参数,所有的输出都可以作为输出参数,并且所有的存储位都可以作为静态局部数据。应当注意,由于只有字母、数字及下划线才能在块局部变量中出现,故名称有少许的变动。
功能块“Conveyor_Belt”控制两个传送带,因此将调用两次该功能块。*调用时,调用传送带1的输入和输出参数;第二次调用时,调用传动带2的输入和输出参数。每次调用,功能块都需要一个实例数据块,该数据块存有相应传送带的数据。用于传动带1的数据块称为“Belt_Data1”,用于传送带2的数据块称为“Belt_Data2”。
相关的可执行程序的例子位于原书磁盘目录下,在STL_Book库下寻找程序“Conveyor Example”。可以看到,源程序包括了功能块的编程,功能块中有输入参数、输出参数和静态局部数据。这些程序后面紧接着实例数据块的编程。这里,可以功能块作为声明部分。任何数据块都可作为实例数据块,例如DB 21用于“Belt_Data1”、DB 22用于“Belt_D ata 2”。在符号表中,这些数据块都有功能块的数据类型。
在源程序结尾处可以看到另外两个完整的功能块的调用,例如可能在OB 1中看到。可以使用来自符号表的输入、输出参数作为实参。
遇到含有特殊字符的全局符号时,必须在程序中把这些符号放在引号中。
传递块参数是一种特殊的访问块参数的形式,也是一种特殊的块参数初始化方式。传递调用块的块参数给被调用块的参数,调用块的形参便成为被调用块的实参。
总的来说,实参和形参必须类型相同(即相关块参数数据类型必须统一)。除此之外,调用块的输入参数只能用于被调用块的输入参数;同理,输出参数也只能用于被调用块输出参数。调用块的输入/输出参数可以用于被调用块的各种声明的参数类型。
需注意,一些功能及功能块的块参数发生的变化会给数据类型带来限制。按照前面所描述的,基本数据类型的块参数可以直接传递而不受限制。对于复杂数据类型的输入和输出参数,如果调用块是功能块,则只能传递。参数类型为TIMER、COUNTER.BLOCK_xx的块参数,如果调用块是功能块,也只能从一个输入参数传递到另外一个。相关的说明信息见表19-5。
对于功能块利用间接寻址,可以传递参数类型TIMER、COUNTER和BLOCK_DB。相关参数为WORD或INT数据类型,通过一个常量或含有定时器、计数器或被传送块的数目的变量来对该参数初始化。由于该参数是基本数据类型,故可以传递给另外的块。在“后”那个块中可以使用加载功能把参数的内容传递给暂态局部数据字,并且用存储器间接方式处理定时器功能、计时器和块。
表19-5 传递块参数时允许的组合
注:E=基本数据类型;
Z=复杂数据类型,UTD;
P=TIMER、COUNTER和BLOCK_xx等参数类型。
西门子802C数控系统画面不动死机维修