在S7 200中我定义了配方0,相对应的分配150个配方数据;
在一子程序Write中根据LD0的输入将不同的工艺参数写入不同的配方
下面的程序Network有150个,至于LD0的输入是根据不同的产品工艺型号输入的,数字量DINT类型
编译能全部通过,可是一下载就出现:编译91非致命错误,Network95 行3 出现错误,如果我把Network95到Network149全删掉,再下载就没有问题
说明的是Network1-------NetWork94跟下面的程序完全一致,只是LD输入值不同;
LD SM0.0
AD= #I_IN:LD0, 35352
EU
CALL RCP0_WRITE:SBR19, DEF0_RCP90:31, VB298
与Write对应的还有Read子程序
有150个Networks
LD SM0.0
AD= #I_IN:LD0, 35352
EU
CALL RCP0_READ:SBR18, DEF0_RCP3:118, VB295
编程电缆用的是USB/PPI非西门子原装电缆
编程软件用的MircroWin 4.0 SP6 语言设置为中文 XP操作系统
程序全部编译为11.2K大小,数据块10K 存储卡64K,存储卡每个配方78字节
150个配方11.7K数据远小于64K 配方空间应该没问题的
百思不得其解
PLC为 226CN 我查过手册226CN的程序空间为16K多点 最多25K 远大于编译完成的11K的程序,我删掉Write子程序中Network95-----Network149后又写入了如下指令120个Networks:
LD SM0.0
= V1500.1
Write子程序的结构如下:
Network1-------Network94为:
LD SM0.0
AD= #I_IN:LD0, 35352
EU
CALL RCP0_WRITE:SBR19, DEF0_RCP90:31, VB298
Network95-------Network200
LD SM0.0
= V1500.1
编译成功 下载成功,这说明不是程序存储空间问题造成的最前面的问题