PCS7系统自定义CFC功能块培训(高端培训)课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《PCS7系统自定义CFC功能块培训(高端培训)课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PCS7 系统 自定义 CFC 功能块 培训 高端 课件
- 资源描述:
-
1、工程师培训资料工程师培训资料 标题:PCS7系统自定义CFC功能块培训(高端培训)(高端培训) 培训人:xx内 容 FB和FC块的结构 LAD 编程语言 设计自定义功能块 FC设计实例 FB设计实例 SCL 编程简介FB和FC块的结构 引脚 变量声明 程序体 块属性 FB的背景数据块块的引脚 FB和FC块是实现一定功能的程序块,例如:量程转换、PID控制器、信号滤波等; FB和FC将程序分解成相对独立的部分; 在FB和FC内部避免使用直接地址,而是通过块的引脚与调用程序实现数据交换,可以防止读取到无效数据; 设计良好的块可以被多次调用,只需改变引脚连接,可节约编程工作量。块的三种引脚 输入端(
2、IN): 变量输入,只读; 输出端(OUT): 结果输出,避免读取输出端; 输入输出端(IN_OUT): 用于需要回写的变量,例如需要自复位的按钮。变量声明 FB和FC块中所有用到的变量必须先声明; 变量声明中包括对引脚的声明; FB和FC块中的变量声明类型: IN,OUT,IN_OUT 块的引脚; TEMP 临时变量,用于程序的中间数据存储; STAT 静态变量,在FB中用于保存重要数据,FC没有静态变量。 块中的变量可以采用所有PCS7支持的基本和复合数据类型,但是块的引脚在连接时必须满足两端数据类型一致。块属性 FB和FC块包含以下属性: NAME:块名称 VERSION:版本号 FAM
3、ILY:块分类 AUTHOR:作者 S7_TASKLIST:调用块的执行顺序 S7_m_c:块是否需要与WinCC变量连接 可以在编写自定义功能块时设置属性。FB的背景数据块 FC和FB的区别:FC块没有背景数据块; 背景数据块与变量声明中确定的数据结构一致; 背景数据块中不包含临时变量; 用于保存每个周期的变量数值,可以在其他程序中访问背景数据块中的数据; FC块的引脚不能空置,不能赋初值; FB块的引脚可以不连,保持其默认的初始值; FC常用于一些简单的逻辑运算和不需数据存储的功能,也用于调用其他FB和FC块实现程序的结构化; FB更适合于编写复杂的运算功能。程序体 FB和FC块的程序可以
4、采用多种编程语言编写; LAD、FBD:适于编写较简单的功能,程序直观易懂; STL:适于编写贴近内核的程序,功能强大,但程序晦涩难懂; SCL:适于编写复杂的运算功能,功能强大,接近高级语言,程序易懂。LAD 编程语言 位逻辑指令 比较指令 MOVE 与数据转换指令 整数运算指令 浮点数运算指令 字逻辑运算指令 计数器指令 定时器指令 常开触点 常闭触点 取反 输出线圈 置位线圈 复位线圈 检测下降沿 检测上升沿 复位置位触发器 置位复位触发器 检测变量上升沿 检测变量下降沿SRRSQSR(变量地址)RSQRS(变量地址)N(变量地址)P(变量地址)NOTM_BITQNEG(变量地址1)(变
5、量地址2)M_BITQPOS(变量地址1)(变量地址2)位逻辑指令三种数据类型 CMP?I 整数比较 CMP?D 长整数比较 CMP?R 实数比较六种比较条件 = IN1等于IN2 IN1不等于IN2 IN1大于IN2 = IN1大于等于IN2 = IN1小于等于IN2比较指令MOVE 指令 可实现简单的数据转换功能 IN:I,Q,M,D,常数 OUT:I,Q,M,DBCD_I BCD码转换为整型I_BCD 整型数转换为BCD码BCD_DI BCD码转换为长整型DI_BCD 长整型数转换为BCD码I_DINT 整形数转换为长整型DI_REAL 长整型数转换为实型数INV_I 整型数的二进制反码
6、(按位取反)INV_DI 长整型数的二进制反码(按位取反)NEG_I 整型数的2的补码(加负号)NEG_DI 长整型数的2的补码(加负号)NEG_R 实型数的相反数(加负号)数据转换指令 ADD_I 整型数加法 SUB_I 整型数减法 MUL_I 整型数乘法 DIV_I 整型数除法 ADD_DI 长整型数加法 SUB_DI 长整型数减法 MUL_DI 长整型数乘法 DIV_DI 长整型数除法 MOD_DI 长整型数取模运算(求余数)整数运算指令 ADD_R 实型数加法 SUB_R 实型数减法 MUL_R 实型数乘法 DIV_R 实型数除法浮点数运算指令 WAND_W 字“与” WOR_W 字“
7、或” WXOR_W 字“异或” WAND_DW 双字“与” WOR_DW 双字“或” WXOR_DW 双字“异或”字逻辑运算指令 S_CUD 向上向下计数器 S_CD 向下计数器 S_CU 向上计数器计数器指令 S_PULSE -(SP) 脉冲定时器 S_PEXT -(SE) 扩展脉冲定时器 S_ODT -(SD) 延时接通定时器 S_ODTS -(SS) 带保持延时接通定时器 S_OFFDT -(SF) 延时断开定时器定时器指令tttS:I0.0R:I0.1Q:Q4.0S_PULSE 脉冲定时器tttS:I0.0R:I0.1Q:Q4.0S_PEXT 扩展脉冲定时器tttS:I0.0R:I0.
8、1Q:Q4.0tS_ODT 延时开启定时器tttS:I0.0R:I0.1Q:Q4.0tS_ODTS 带保持延时开启定时器tttS:I0.0R:I0.1Q:Q4.0tS_OFF 延时断开计时器设计自定义功能块 分解程序功能 选择 FC 和 FB 块 设计引脚和变量结构分解程序功能 可以按照以下原则对程序进行功能分解: 按照实现的功能划分: 如电机起停逻辑、阀门控制器等; 按照控制的设备划分: 如除氧器、加压泵等; 按照控制回路划分: 如汽包水位控制器、主管压力控制器等; 按照算法单元划分: 如量程转换,浮点运算等;选择 FC 和 FB 块 选择合理的程序块划分原则; 尽量将实现功能所需的数据包含
9、到功能块中; 需要大量中间数据的功能块应选择FB,如:计算浮点数多项式; 需要读取多个扫描周期数据的功能块采用FB,例如:PID控制器; 不需数据存储或只需临时数据存储的功能块可采用FC实现,例如:量程转换等。设计引脚和变量结构 将需要在调用时变化的数据设计成块的引脚; 合理利用IN,IN_OUT,OUT三种引脚类型,优先使用IN和OUT类型,避免不必要的麻烦; 需要在多个周期中使用的变量应为静态变量; 只在单个周期使用或仅仅一个语句使用的变量应为临时变量; 对FB块中变量赋初值时应考虑安全; 临时变量不能赋初值。FC设计实例 量程转换功能 引脚 变量声明 LAD实现量程转换 在OB1中调用量
展开阅读全文