平时测试程序建了DB28,是各种数据类型的集合,其中数组d[1..16]是dword,e[1..16]是int。
今天为了测试语句UC,用了FC99,在SCL写程序db28.e[1]:=FC99(IN1:=DB28.d[1]...),结果程序居然执行不成功。
删去SCL后,发现程序居然检查DB28.DBX1.0是FALSE还是TRUE,百思不得其解,之后测试DB28.d[15],还是不行,程序编译后是检查DB28.DBX15.0是FALSE还是TRUE。
怀疑可能是数组名的问题,于是测试莫须有的DB28.d[32],依然编译成功,证实了我的判断。
之后将数组名改为dd,依然不行,程序编译后检查DB28.DBD1。
最后将数组名改为dddd,程序正常。
但是我看SCL手册,d[数字]应该没有问题,dd[数字]应该也没有问题,如果是 dd[变量] 或是 dd数字 或是 d数字.数字 倒是有问题,不知道这算不算是bug。