自由口通讯发送缓存区能在逻辑程序中改动吗? 点击:691 | 回复:2



都市夜归人

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 25回
  • 年度积分:0
  • 历史总积分:78
  • 注册:2005年10月28日
发表于:2005-10-24 11:02:00
楼主
最近小弟忙于做一个人机界面和PLC连接的项目,在修改参数下传的问题上得不到解决,我觉得问题的关键是我搞不清楚PLC执行程序与处理通讯任务的区别,我看系统手册上写的操作顺序是:1,读输入2,执行逻辑控制程序3,处理通讯请求4,执行CPU自诊断5,写输出 以上可知道执行逻辑控制程序和处理通讯请求是先后两个操作,那为什么在逻辑控制程序中改动发送缓存区的内容时,通讯内容会出错甚至不发送了?小弟是如下面做的:    人机选用的是台湾维纶的easyview,PLC是西门子s7200cpu226(双485串口)人机与PLC一个口,另一个口与下行的DSP连接(采用自由口通讯)。    PLC和DSP的自由口通讯采用的是PLC定时发送,发送内容包括不同项目的参数,在PLC内部建立一个发送缓存区和接受缓存区,当修改参数完毕时,由人机上的确定按钮启动PLC的内部一个位地址(人机直接访问PLC地址),PLC程序内容是由此位地址启动一个BLKMOVE的子程序,将人机参数使用的那部分PLC地址内容MOVE到发送缓存区以内,然后由定时发送的发送指令将这些参数发送到DSP中,但小弟尝试多次,除多次发送不出参数之外,有时还使PLC停止了定时发送,迟迟找不到原因,以上情况不知道小弟说清楚了没有还请高手指点一下!小弟QQ:6099617



都市夜归人

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 25回
  • 年度积分:0
  • 历史总积分:78
  • 注册:2005年10月28日
发表于:2005-10-24 12:26:00
1楼
跪求高手指点!

心茫然

  • 精华:1帖
  • 求助:0帖
  • 帖子:14帖 | 234回
  • 年度积分:0
  • 历史总积分:317
  • 注册:2004年1月18日
发表于:2005-10-24 22:31:00
2楼
请把SM87.7(如果是port 0 的话)轻零,即停止接受,然后再行发送。发送完成后(中断)再置位。

热门招聘
相关主题

官方公众号

智造工程师