S7 200程序下载错误

在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  配方空间应该没问题的

 百思不得其解
 

问题补充:
S7 226CN

最佳答案

你可以做如下尝试:

 1. 将你的150个Write子程序分成3个
    WriteA:原Write的1----50 Network

    WriteB:原Write的51----100 Network

    WriteC:原Write的101----150 Network

    调用的时候一起调用

    只是一种调试思路

 2.由于S7 200 系列 EU 与ED 每种指令在程序中不能超过256次
   
   你的EU指令是不是超过256次了?
   超过的部分 用
   NOT
   ED
   指令来代替来试试
 

提问者对于答案的评价:
今天经过测试,将Write子程序中的每个NETWORK

 
 LD     SM0.0
 AD=    #I_IN:LD0, 121
 EU
 CALL   RCP0_WRITE:SBR19, DEF0_RCP0:150, VB298

 
 每个NETWORK中都需要占用一个EU指令,这样Read子程序150个NETWORK 就占用了150个EU,Write子程序又占用了150个EU指令,而S7 200系列PLC  EU/ED指令每种只能使用少于256个,故下载出现错误,我试验中将占用15个EU指令进行变换,指令列如下:

 LD     SM0.0
 EU

 LPS
 AD=    #I_IN:LD0, 30203

 CALL   RCP0_WRITE:SBR19, DEF0_RCP60:90, VB298
 LRD
 AD=    #I_IN:LD0, 30251
 CALL   RCP0_WRITE:SBR19, DEF0_RCP61:89, VB298
 LRD

 AD=    #I_IN:LD0, 30252
 CALL   RCP0_WRITE:SBR19, DEF0_RCP62:88, VB298
 AD=    #I_IN:LD0, 35101
 LRD
 CALL   RCP0_WRITE:SBR19, DEF0_RCP73:77, VB298
 LPP
 AD=    #I_IN:LD0, 35102
 CALL   RCP0_WRITE:SBR19, DEF0_RCP74:76, VB298

 经过变换指令格式后,细数EU指令,整个程序EU指令为217个,下载至PLC无出现错误,程序现在运行正常

 大家回答都很好,只是  S7 200 / Net 对我的调试思路改变有很大影响  希望大家别有意见

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午12:09
下一篇 2021年7月5日 上午12:09

相关推荐

  • 西门子200PLC做主站,modsim做从站的问题

    我写了一个用200PLC做主站,我的I0.1按一次,30001就读取一次,然后根据读取到的值做比较,大于10,我就给40001写入1,小于10,我就给40001写入0,我的从站我用…

    2017年12月21日
  • 谁有西门子cpu200的GSD文件?

    西门子CPU224XP DC/DC/DC;订货号6ES7 214 2AD23-OXB0,哪位大神有,请帮忙 最佳答案 1、6ES7214-2AD23-…

    SIMATIC S7-200 2021年7月5日
  • 跟国产以太网模块做GET通讯

    一个第三方设备用了大连一个厂家的S7-200通讯模块ETH-ibus,这个模块可以把200的V区映射成模块的DB1区,使S7-200对外通讯就如同一个S7-300。厂家说可以在S7…

    2021年7月5日
  • s7-200定时器类型

    s7-200%ignore_a_1%中有单态定时器tmon吗或者和它类似功能的? 最佳答案 现成的没有。可以自己做,在定时中断中做一个,定时中断最小精度1mS不知道是否满足你的需求…

    SIMATIC S7-200 2021年7月5日
  • 关于RS-232/PPI电缆的一些小问题

    请教各位前辈们 现在想要用RS-232/PPI电缆来连接S7-200和GPS模块,以读取时间信息。GPS模块我们准备找厂商定做,他们需要我们提供接口引脚的定义。&nbsp…

    SIMATIC S7-200 2021年7月4日
  • smart200断电保持问题

    SMART200PLC,SR20,比如要将M2.0这个开关,断电重新上电后保持断电前的状态,是不是要设置MB2这个保持区域,里面的偏移量和元素数目什么意思? 最佳答案 偏移量是从0…

    SIMATIC S7-200 2021年7月5日
  • s7-200毫伏表采集

    各位,谁编过针对毫伏表的数据采集。毫伏表没有计算机接口啊,只有Q9。有没有可以用于计算机采集的毫伏表啊? 问题补充:PLC有没有可以采集几百毫伏的模块??? 最佳答案 EM235有…

    SIMATIC S7-200 2021年7月5日
  • s7 200伺服控制模块6ES7 253-1AA22-0XA0现在大概多少钱?

    s7 200伺服控制模块6ES7 253-1AA22-0XA0现在大概多少钱? 最佳答案 1900元左右,我们经常使用的 提问者对于答案的评价:谢谢! 专家置评…

    SIMATIC S7-200 2017年12月10日
  • 200的modbus RTU数据传输格式问题

    【情况说明】开发一个单片机设备与PLC226CN通过modbus RTU协议传输信息。做好了板子,并看了modbus RTU协议之后,准备开始测试通讯程序。由于…

    SIMATIC S7-200 2017年12月9日
  • S7-200中如何实现数据处理?

    H=Ln(A/B)/μρ;公式中μ和ρ是2个参数;A是初始计数值是个定值;B是被测得的计数值,根据μ和ρ参数设定变化而变化。A和B都是整数,数值比较大(>10^5),H是带2…

    2020年10月31日

发表回复

登录后才能评论