回复:技术专题探讨-PLC以太网通信

赵欣

官方工程师

  • 帖子

    381
  • 精华

    54
  • 被关注

    216

论坛等级:奇侠

注册时间:2006-07-07

普通 普通 如何晋级?

发布于 2009-06-10 16:49:19

0楼

quote:以下是引用四书五经在2009-06-10 16:16:12的发言:
对于S5兼容通讯(Send/Recive),调用FC5/FC6最好不要就直接调用FC5/FC6就完事了。应该按照如下格式进行调用:
CALL FC 5 (
ACT := M100.0,
ID := 1,
LADDR := W#16#100,
SEND := P#DB100.dbx0.0 BYTE 240,
LEN := 240,
DONE := M100.1,
ERROR := M100.2,
STATUS := MW102 );

R M100.0;
SET;
A M100.1;
JC done;
SET;
A M100.2;
JC err;
BEU;//功能块还没执行完,结束程序
done: S M100.0; //功能块执行完了,触发下一次发送
BEU;
err: S M100.0;//出错了,也触发下一次发送,这里也可以加入出错处理
BEU;

以上代码摘自STEP7在线帮助。这样做的好处是保证在数据发送完成后再启动下一次发次。不会出现上一次数据还没发完,又开始新的发送的情况。呵呵,既然功能块提供了这么多状态,那就应该把他们都用上,好的程序还是应该这样写!

那么Done信号意味着什么呢?
读万卷书 行万里路
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

通信与网络组件

共有4510条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。