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

相关推荐

  • S7-200同S120进行数据通信

    请教大家,S7-200想同S120进行定位控制有几种通信方式?1、USS通信是否可行?2、必须经过HMI Panel或者300PLC等DP主站进行通信? 最佳答案 1、S…

    SIMATIC S7-200 2021年7月5日
  • 用S7-200继电器输出驱动直流负载的时候也要在N端和L端接220VAC吗?

    如题.. 最佳答案 1、N和L是cpu的工作电源,这是cpu工作的最近本条件。你驱动什么样的负载都要把这个电源连接好才能驱动,否则cpu根本不工作的。 2、另外还有一个接…

    SIMATIC S7-200 2021年7月5日
  • 请问CPU200有位置控制模块吗?

    我打算控制一个升降装置,装置由比例阀控制升降动作,一个AO输出-4~20ma电流信号,位移反馈采用电阻尺检测,请问西门子200有这样的位置控制模块吗?我看大多数都是控制伺服电机和步…

    SIMATIC S7-200 2017年6月27日
  • 再问PID指令

    利用PID指令编程,状态表中监控发现为何过程变量前值PV(n-1)始终等于过程变量现值PV(n)? 如利用PID指令编程不用向导应如何进行整定调整? 最佳答案 时间上差异…

    SIMATIC S7-200 2021年7月5日
  • s7-200 MODBUS 通信问题

    s7-200 modbus 通信,不知道能不能同时使用PLC的两个端口分别与其他的不同仪表进行modbus通信。 S7-200的编程软件V4.0&nb…

    SIMATIC S7-200 2017年11月23日
  • 局部变量符号下的绿色波浪下划线

    S7-200局部变量符号下的绿色波浪下划线是什么意思呢?该如何解决呢? 最佳答案 S7-200在定义局部变量时,变量下面总带绿色下划波浪线的原因:1、是你没有给变量定义它的数据类型…

    SIMATIC S7-200 2020年10月31日
  • EM253使用

    刚刚接触EM253,与226连接控制伺服电机,做一个等长剪断钢筋的控制。需要有手动控制,请问需要哪几个子程序啊?大体流程和注意事项有哪些啊?谢谢 最佳答案 最起码送料时得有脉冲输出…

    SIMATIC S7-200 2017年12月7日
  • 数据类型转换 二进制赋值到字节里

    将二进制1010 赋值到qb2264字节里 使得 Q2264.0=1  Q2264.1=0  Q2264.2=…

    SIMATIC S7-200 2021年7月5日
  • MPI线可以用在200中吗

    最近由于PPI线老出问题,就用MPI线代替PPI线,结果一下子就连上了,还能上传程序。但再次用的时候就出问题了,连接不上了 最佳答案 MPI可以用于S7-200,但是有条件的首先P…

    SIMATIC S7-200 2020年11月1日
  • S7200模拟量输出电压在10S内从0-10V匀速上升

    各位大侠:请问S7200模拟量电压在10S内从0-10V匀速上升输出,该如何编写程序,请教思路。谢谢! 最佳答案 1、请参看以下:《怎样用 STEP 7&nbs…

    SIMATIC S7-200 2020年10月31日

发表回复

登录后才能评论