回复:FB功能块中LW0变量得如何理解

Zane

版主 西门子1847工业学习平台

  • 帖子

    21055
  • 精华

    399
  • 被关注

    1484

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2019-06-24 19:09:21

17楼

展开查看
以下是引用yzs在2019-06-24 12:27:58的发言 >16楼

此贴不是讨论1200的Modbus-RTU的问题,既然你在这里提到了,我也看了你的案例,就像我之前在1200那个帖子说过了,MDB的通讯是有两个块的,你用的是“Modbus_comm_load”这个块,你使用起来是没问题就可以大言不惭的说1200没这个问题。我用的是“MB_COMM_LOAD”这个块,在实际使用中会出现卡死情况,卡死后无论你怎么调用“MB_MASTER”都不会发送数据出去,必须重新初始化“MB_COMM_LOAD”才行。你没遇到过的问题并不代表不存在,我只是说存在通讯卡死的可能需要做一个初始化的处理有错吗?每次和你讨论你都是牛头不对马嘴然后显得你很高深的样子,回去自己查查是否有“MB_COMM_LOAD”这个块,这个块是否是西门子自带的通讯块?批评是相互的,大家都是做技术的,可能你的技术比我高,但是也不代表你就是神,你就遇到过一切问题,什么都是斩钉截铁的来说最终打脸的还不知道是谁!

以下是引用Zane在2019-06-24 11:03:07的发言 >14楼:你敢大放厥词,我就...

引用14楼详细内容:

你敢大放厥词,我就敢批评你,错了别人就说不得吗?听不听是你的事儿,说不说是我的责任。


与其做无谓的争论,不如讨论一下如何对有符号名的变量实现按位访问的方法来的有意义,是吧?


也建议你看看,博图环境下Modbus-RTU通讯应用入门-基于任务轮询机制的Modbus-RTU主站通讯程序的实现,兴许对于解决你的BUG有些帮助。

以下是引用yzs在2019-06-24 10:34:49的发言 >13楼:你有没有搞错??我...

引用13楼详细内容:

你有没有搞错??我有说这个是BUG吗 ?哪只眼睛看到的??截个图给大家看看!你开始说LW0不可以使用,我只是说LW0是可以使用的而已,你自己看看所有回复,我有攻击过你说过你什么吗?我有说过这个是BUG吗??西门子BUG大把我就不能说了吗?再说我说西门子有BUG是在这个贴说的吗??回帖要有根有据,以事论事,不是你是版主你就是对的!!!

以下是引用Zane在2019-06-24 08:21:00的发言 >12楼:呵呵,一个有符号...

引用12楼详细内容:

呵呵,一个有符号名的变量就无法按位访问了吗?就这问题也是你随意说BUG的资本吗?能给你答案的人论坛里有一大把! 这只能说明,你有应用的需求,却没有合理规范的解决方法,处于一种原始的本能去解决问题,是走不远的。你的做法,程序可读性差,而且存在各种风险。 你要坚持这样,那是你自己的事儿,但请不要忽悠别人哦!

以下是引用yzs在2019-06-23 22:57:17的发言 >11楼:我想问一下,给L...

引用11楼详细内容:

我想问一下,给LD0起了一个变量名之后我想使用其中的LB0,LW0,L0.6怎么办?你自己不使用不代表别人不使用。变量重复被使用是有风险,但是根据程序的需要来使用可以减轻编程及优化编程不好吗?在W或D中去BOOL这些编程在日常编程中你没用过吗?西门子是否不提倡这种编程?如果不提倡可以日后建了MW0的变量后就不可以建M0.5点变量了!

以下是引用Zane在2019-06-23 21:33:04的发言 >10楼:S7-1200/1500优...

引用10楼详细内容:

S7-1200/1500优化编程是不允许,非优化编程允许使用,但西门子有警告,这说明什么,西门子不提倡这种编程方式;

再退一步讲,就算是非优化编程,你给临时变量LW0起个变量名,非常难吗?非要偷个懒,非得拖个警告在后面,这个警告是你得瑟的资本?这不是个好习惯,你恰恰是在冒险,LW0这种变量有被重复使用的风险,如果你可能不小心疏忽的话。


到论坛来交流没错,人家是来学习咨询的,你有本事应该负责任的教别人,别随意把你的坏习惯BUG教别人,想想你将来该怎么做别人的师傅?


再提醒你一次,所谓S7-300/400/1200/1500通用程序,别忽悠别人,凡是涉及系统功能块的你都搞不定,有本事你弄个MODBUS-RTU四方通用的程序来?


以下是引用yzs在2019-06-22 08:11:36的发言 >8楼:1200和1500同样...

引用8楼详细内容:

1200和1500同样是可以用的,只是在编译的过程里有警告而已,无视警告即可。现在程序编写就需要做到1200,1500,300,400都可以通用

以下是引用Zane在2019-06-20 23:24:33的发言 >3楼:抱歉,我指的...

引用3楼详细内容:

抱歉,我指的博图已经不包含S7-300/400了,我不用S7-300/400很久了

以下是引用威师爷在2019-06-20 22:47:07的发言 >2楼:在博图环境一...

引用2楼详细内容:

在博图环境一样可以的,例如在temp定义了16个bit  .L0.0-1.7

然后mw0:=lw0,这个时候LW0是没有符号的,但是同样可以传递前面定义的16个bit

以下是引用Zane在2019-06-20 22:32:41的发言 >1楼: LW0是临...

引用1楼详细内容:

 LW0是临时变量的地址,程序中未在FB块的变量申明表中定义直接使用了,在STEP 7环境中是允许这样使用的,但不规范,在Portal 环境中则不允许了,必须要有变量名称。

呵呵啦,我测试博图的时候,你工作了吗?


你凭什么断定我没用过MB_MASTER?你又是凭什么说S7-1200MB通讯有BUG呢?难道在你之前,别人都用不了博图S7-1200的MB-RTU通讯是吗?


你看了我的例程以后,就不会自己去改改试试?没准你的BUG就烟消云散了呢!


希望你能找出我例子有BUG,我请你吃饭,发红包都行!

Zane 注册自动化系统工程师 Always save before download
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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