当前位置: 首页 > news >正文

西门子PCS7在CFC中如何连接DB块中的变量

在CFC中所连接的DB块必须是用户数据块(User DB)。在CFC中通过菜单Options Customize Compile/Download… 可以查看和修改用户数据块的范围,默认范围是DB1-DB60,超出该范围的DB块在CFC中无法引用,如果引用了,CFC编译时会提示错误。工控人加入PLC工业自动化精英社群

1.对于DB块中定义的基本变量类型,可以在CFC中直接连接到该变量的符号名。前提是CFC中块引脚的数据类型定义与DB块中的数据类型一致。例如,引脚定义为Real类型,则可以连接到DB块中定义为Real类型的变量。如果类型不同,即使数据长度一致也无法连接,例如Real和DWORD无法连接。如下图所示:

2. ANY类型的引脚可以连接到DB块中的任何类型的变量,包括基本类型和ARRAY,STRUCT等复杂类型。如下图所示:

3. 如果要连接复杂变量类型(例如ARRAY, UDT, STRUCT等)中的某个变量,则无法通过符号名称连接,这种情况下只能使用绝对地址连接。绝对地址的引用语法如下:

在CFC中,绝对地址引用可以直接连接到BOOL,BYTE,WORD和DWORD类型的引脚上,但是无法连接到Int, Dint, Real等类型的引脚。如果要连接此类引脚,还需要在连接之前通过类型转换块进行转换。

在下图所示例子中,要将一个Int类型的引脚连接到DB块中一个包含5个Int值的Array变量的第二个值。Array的起始地址为18,因此第二个值的地址为20。在CFC中应该连接的地址为“DB1.DW20”,由于Int类型的引脚无法直接连接,因此通过W_I转换块实现连接。工控人加入PLC工业自动化精英社群


http://www.mrgr.cn/news/34417.html

相关文章:

  • 【智能制造-32】通信冗余
  • 基于python深度学习遥感影像地物分类与目标识别、分割实践技术
  • 全流程管理的商标管理软件如何实现一站式品牌保护?
  • 【安装教程】Windows环境下Neo4j的安装与配置
  • Redis面试常见问题
  • Matplotlib-数据可视化详解
  • 【项目开发】跨学科合作平台原型设计
  • 如果在事务中使用update语句更新但是条件中没有使用主键,会使用什么级别的锁?
  • 利用代码,玩转腾讯云脱敏服务:Java、Python、PHP案例集
  • 【常见框架漏洞】ThinkPHP、struts2、Spring、Shiro
  • mysql数据库设置主从同步
  • 828华为云征文|Flexus云服务器X实例实践:部署Alist文件列表程序
  • Web端云剪辑解决方案,可实现移动端、PC、云平台无缝兼容
  • 项目总结,路径匹配的业务逻辑
  • 软件测试常见面试题
  • 部署wordpress项目
  • VBA日历进度
  • 【十八】MySQL 8.0 新特性
  • 面试速通宝典——3
  • mybatis 配置文件完成增删改查(五) :单条件 动态sql查询,相当于switch