初学者求问,博途中的变量地址如何确定和调用?

我在全局变量表里输入了需要的I/O变量,那么DB中的偏移量是什么?现在编制的是一个输送的程序,根据我的理解,变频电机、输送设备我把这些做成FB块;再把各个操作站的逻辑编成FC块,我在FC里调用FB。DB是配套FB的背景数据,这个变量是我在编写FB块时,在块接口中输入的,DB块自动生成。有INPUT、OUTPUT、等几种类型。那么偏移量在这里起到什么作用。我手上有中文版的官方编程手册,这一点没有看明白。
首次用博途编程,以前只用过200的,很多不懂,问题简单了一些,谢谢大家解惑

图片说明:

初学者求问,博途中的变量地址如何确定和调用?   

最佳答案

300在功能上要比200强大很多,但是也有一些相似的地方的。
比如都有iqm t c等存储区,200有v存储区,300有db存储区,这块是类似的。区别在于根据cpu型号不同,200的v是有确定的区间范围,比如v0-v20000,300的db存储区,也是有大小的,比如是512k的范围,但是其灵活的地方在于可以比较自由的分块建立,比如建立DB1,DB2。。。,就像你在硬盘分区一样,可以分多个区,但是总空间也是确定的了,不能超过这个。既然v有地址,vd1,vw10等,db也是有地址的,地址是自定义+相对偏移量,也就是db块编号+db内变量的偏移量。博途现在主推符号化编程,这个在1200/1500里面更进一步,所以现在博途编程,所以变量必须有符号的,即使你不写,软件也会自动给分配一个,但是鉴于硬件,尤其是300/400,绝对地址还是无法去除的,所以db内,如果不是优化的访问,还是有偏移量一说的,如果你程序能够全部实现符号编程,你可以无需关注这个的。但是如果有偏移量,你仍然可以使用绝对地址进行访问,既然可以写占位2,也可以写DB1.DBX1.3 ,如果软件识别到这个地址有符号,则自动显示符号,如果你写的一个地址,没有符号,这就显示地址,但是会是黄色,警告这个是绝对访问,比如你写DB1.DBB0,你db内并没定义db1内第一个字节是byte类型,软件找不到对应的符号就会报警。但也基本不影响使用。

提问者对于答案的评价:
谢谢您的指教,也感谢其他几位答主。我理解的是DB就是配套FB逻辑使用的,FC中调用FB可以间接把数保存入DB。而偏移量也就是地址,无论在哪个程序段,打出这个就能找到这个变量。
还有就是我直接建立DB,优化访问总是有沟无法去除,关闭再打开也不行,就是没有偏移量。但是在FB块接口填入变量编译就有了,再建立DB就没问题了。那是否通常都是这么做的呢?
不好意思,啰嗦了一些

最佳答案作者回复:
我感觉你对fb还理解的不够;
db分全局db和背景db的。
你这个db取消不了优化的访问,应该是背景db吧?如果是背景的,需要把对应的fb的优化访问去掉,则其背景db自然就是非优化的了。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc367936.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午2:56
下一篇 2021年7月5日

相关推荐

  • 2台S7-226与触摸屏通讯

    2台S7-226与触摸屏通讯,要求2个PLC能互享数据,触摸屏也能访问两个PLC。三者之间距离不超过20米。请给出方案,本人通讯方面知识很少,请多给些提示。谢了! 最佳答案 一个2…

    SIMATIC S7-200 2021年7月5日
  • s7-200通讯故障

    当与s7-200通讯时,设备管理器里面可以看到端口接口,而在PG/PC接口里面选择PC/PPI. cable. PPI里面的本地连接只有usb,没有com口选项…

    2021年7月5日
  • simarex_ms接2只称重传感器

    称重模块simarex_ms, 现在要接入2只称重传感器,2只传感器合并读值,不需要分开读值,是否可以不用simarex jb 接线盒? 最佳答案 接…

    SIMATIC S7-200 2021年7月5日
  • PC_ACCESS_V2.3的使用

    官网下载了PC_ACCESS_V2.3并安装。官网下载了STEP 7 MicroWIN SMART V2.5并安装。搭建硬件smart&nb…

    SIMATIC S7-200 2021年7月5日
  • S7-200中,掉电保持的数据可以一键清零吗?可以的话应该怎么写

    S7-200中,掉电保持的数据可以一键清零吗?可以的话应该怎么写 最佳答案 你写入全部0,是不是就叫做清零? 提问者对于答案的评价:任意方法写入0即可

    SIMATIC S7-200 2021年7月5日
  • 下载程序后CPU224XP拒绝通讯

    有一个问题,请各位帮助分析一下。我编了一个比较复杂的程序,从0#口下载到CPU224XP的时候是正常的,但是,下载之后,就不能t通讯监测了,说“通讯超时….”之类的话。然后,我…

    SIMATIC S7-200 2021年7月4日
  • 怎么停止子程序运行

    在主程序里断开子程序,子程序一直保持断开前的状态,开还是开,断还是断,我想把子程序断开,回到初始值,怎么办. 最佳答案 最简单的办法如我的图所示,当I0.0是零时调用子程序一,并且…

    2020年10月31日
  • CP5612卡通讯问题

    我用的是CP5612卡与S7-200连接很多时候都连接不上,就是下载程序以后,在TD200上显示CPU无响应或者是网络错误,我是这样连接的:在S7-200通讯口接了三个插头,分别是…

    SIMATIC S7-200 2020年11月1日
  • 西门子PLC模拟量0-10V输出,去驱动固态继电器,可行吗

    西门子PLC模拟量0-10V输出,去驱动0-10V固态继电器。我知道固态继电器的驱动电流要25MA,PLC的模拟量输出0-10V 能驱动多大电流用的PLC是西门子CPU2…

    2017年11月27日
  • s7200的问题

    wincc-s7200如何连接我有simatic net软件 应该用什么硬件与200相连 最佳答案 多了若有S7-200 PC Access…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论