HOLLiASMACS功能块概念及基本运算功能块简介 点击:865 | 回复:1



pdengong

    
  • [版主]
  • 精华:20帖
  • 求助:71帖
  • 帖子:1936帖 | 3670回
  • 年度积分:936
  • 历史总积分:54944
  • 注册:2011年4月11日
发表于:2018-11-05 06:39:50
楼主

功能块概念


块是AutoThink组态的基本元素。MACSV6.5.X 系统预定义了多种类型和多种功能的块,可以满足用户实现各种应用的需要。块是一组子程序,符合IEC61131-3标准。当块被调用时,系统就运行该子程序,并把运行结果送到有关输出端所对应的存储单元。


每个块的说明内容由以下几点构成:


功能、引脚和参数定义、显示和操作说明、点详细面板


块以树结构的方式显示,方便查找和拖动。


定义


库管理器中的块分为功能块和函数两类。


功能块(FunctionBlock)常用FB来表示。函数(Function)常用FUN来表示。


函数(Function):在使用时,一个函数只支持一种数据类型,函数不包含状态信息,因此一个有这个相同输入参数的函数,无论何时被调用,总是会得到相同的结果。库管理器中函数的标识符用表示。


功能块(FunctionBlock):在使用时,功能块提供一个或多个数据类型。同一个功能块可以被多次复制,通过块名来区分。每一个复制版本的参数、输出变量值以及涉及的内部变量能够被独立地设置,由于每一个功能块包含状态信息,当一个有这个相同输入参数的功能块被调用时,可能会得到不同的结果。库管理器中功能块的标识符用表示。


外观介绍


用下面图例介绍功能块在图形语言环境中应用时的外观显示。




矩形框:用来表示功能块的选择区域,用背景色来区分是否在选中状态。用户可以在AutoThink软件中重新配置背景色。


位置①:实例名,也就是配置的设备点名。当未分配给具体的设备时显示<???>


位置②:功能块类型名。在软件中已预先定义,并以此作为算法库树结构中的节点。


位置③:序号,功能块在程序组织单元(POU)中的执行顺序编号。仅在CFC编程语言环境中显示。


位置④:功能块的输入引脚,根据信号流将输入端放在左边。应用时用户可以对引脚是否显示进行配置。


位置⑤:功能块的输出引脚,根据信号流将输出端放在右边。应用时用户可以对引脚是否显示进行配置。


位置⑥:引脚名称,算法库中功能块的每个输入输出引脚连接一个编码,用来识别这个引脚在块中的功能。如“STSW”表示最基本的输入值在CURVE块中。算法库中块的输入输出参数的引脚名称能在这本手册中找到。


输入、输出及参数


在功能块被以“全下装”模式下装到控制器时,输入/输出量、参数都会被设置为初始值运算。其中输出量的初值是用户可定义的。


参数定义了功能块行为的方式或范围。参数可以用多种数据类型,用户不必关心。在用户组态和在线运行时,用户可定义修改参数值。参数一经设置不会改变。也就是说参数值是用户设置的,不会被功能块本身改变。




基本运算功能块介绍


1.数学运算


ADD(加)




SUB(减) 


MUL(乘) 


DIV(除) 


MOD(取余) 


ABS(绝对值) 


SQRT(平方根) 


LOG(常用对数) 


LN(自然对数) 


EXP(指数) 


SIN(正弦) 


COS(余弦) 


TAN(正切) 


ASIN(反正弦) 


ACOS(反余弦) 


ATAN(反正切) 


EXPT(幂) 


MOVE(赋值) 


INTEGRAL(积分) 


DERIVATIVE(微分) 


PACK(8位整合) 


PACK16(16位整合) 


EXTRACT(位提取) 


PUTBIT(位赋值)


UNPACK(字节位拆分) 


UNPACK16(字位拆分)


2.逻辑运算


AND(与) 


OR(或) 


XOR(异或) 


NOT(非) 


3.比较运算 


GT(大于)


LE(小于等于) 


LT(小于) 


GE(大于等于) 


EQ(等于) 


NE(不等于) 


4.选择运算


SEL(二选一)


MAX(取最大值) 


MIN(取最小值) 


MUX(多选一) 


5.移位运算


SHL(左移) 


SHR(右移) 


ROL(循环左移) 


ROR(循环右移)


6.数据类型转换


BOOL_TO(BOOL类型转换) 


BYTE_TO(BYTE类型转换) 


WORD_TO(WORD类型转换) 


DWORD_TO(DWORD类型转换) 


SINT_TO(SINT类型转换) 


USINT_TO(USINT类型转换) 


NT_TO(INT类型转换) 


UINT_TO(UINT类型转换) 


DINT_TO(DINT类型转换) 


UDINT_TO(UDINT类型转换) 


REAL/LREAL(REAL/LREAL类型转换) 


TIME(TIME类型转换) 


DATE(DATE类型转换) 


DT_TO(DT类型转换) 


TOD_TO(TOD类型转换) 


TO_BOOL(转换为BOOL类型) . 


BYTE_GET_BOOL(取BYTE的某一位) 


WORD_GET_BOOL(取BOOL的某一位) 


7.地址类运算


ADR(取地址) 


VAL(取值) 


SIZEOF(字节长度) 


1分不嫌少!


楼主最近还看过



PLC军团长

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2018-11-05 08:32:14
1楼

有点用,如有案列更能说明作用。


热门招聘
相关主题

官方公众号

智造工程师