请教B&R SH 点击:870 | 回复:5



zoe

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 32回
  • 年度积分:0
  • 历史总积分:172
  • 注册:2003年7月05日
发表于:2004-01-12 12:17:00
楼主
您好!请教几个问题: 1.上下位机通过CAN进行通讯,在PLC的INIT部分,编写了CANOPEN函数,在CYCLIC部分有函数canread读取上位机发出的命令,请问CAN端口如何关闭,因为例程中并没有CAN关闭部分。 2._EXIT部分什么时候执行?是不是在PLC断电后?不知可否在这部分设置一个较长的程序,如系统复位控制等? 3.我编的程序CYCLIC部分是在循环读取上位机发出的命令,如果上位机没有命令发出,会怎样呢? 多谢!



资深土鳖

  • 精华:2帖
  • 求助:2帖
  • 帖子:32帖 | 344回
  • 年度积分:0
  • 历史总积分:661
  • 注册:2002年5月15日
发表于:2004-01-07 09:00:00
1楼
1.CANopen可以多次重新打开; 2.删除时执行; 3.读函数状态为无数据;

zoe

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 32回
  • 年度积分:0
  • 历史总积分:172
  • 注册:2003年7月05日
发表于:2004-01-11 08:28:00
2楼
请问什么叫删除时执行?是PLC关闭电源时吗?多谢!

资深土鳖

  • 精华:2帖
  • 求助:2帖
  • 帖子:32帖 | 344回
  • 年度积分:0
  • 历史总积分:661
  • 注册:2002年5月15日
发表于:2004-01-12 06:59:00
3楼
就是从内存中删除delete这个任务, 这个你可以做个测试.比如: 任务1:test #include _GLOBAL USINT value _INIT void ini() { value = 0 } _CYCLIC void cyc() { value = value } _EXIT void ext() { value = 168 } 任务2:run #include _GLOBAL USINT value _INIT void ini() { value = 0 } _CYCLIC void cyc() { value = value } 下载后改value 为你喜欢的值, 然后删除TEST,保留RUN,你会看到VALUE自动变为168.

zoe

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 32回
  • 年度积分:0
  • 历史总积分:172
  • 注册:2003年7月05日
发表于:2004-01-12 11:06:00
4楼
多谢!您上面说的“删除TEST,保留RUN”,PLC关闭电源以后,还会有TEST任务吗?

资深土鳖

  • 精华:2帖
  • 求助:2帖
  • 帖子:32帖 | 344回
  • 年度积分:0
  • 历史总积分:661
  • 注册:2002年5月15日
发表于:2004-01-12 12:17:00
5楼
从此test就消失了,除非你又下载进去,你可以用MONITOR查看它在不在.

热门招聘
相关主题

官方公众号

智造工程师