TIA博途编译时提示“该地址不能通过变量进行分配”的原因分析
初学TIA博途的小伙伴提问:
程序段里出现黄色的地址名,编译的时候出现警告“该地址不能通过变量进行分配”,出现警告的原因是什么,影响使用吗?
如下图所示,
原因分析:
DB中并未定义该地址对应的变量名,所以只能以绝对地址访问,但不会影响程序运行。
举例说明:
例如,在某个非优化的DB块中,你定义了某个变量名为“Status”,地址为DB1.DBB0,那么此时你对这个变量的某个位进行寻址时,程序中可以写成DB1.DBX0.0,即DBB0的第0位,此时程序编译时,编译器会警告你,并没有和该地址对应的变量。
另外,TIA博途中推荐大家使用“优化的块访问”的方式进行寻址,而不是非优化的块访问。
关于寻址方式的区别,可以参考另一篇博文