您现在所在的是:

西门子SIEMENS

回帖:2916个,阅读:515650 [上一页] [1] ... [250] [251] [252] [253] [254] [255] [256] [257] [258] [259] ... [292] [下一页]
550
nfwduan
文章数:11
年度积分:50
历史总积分:550
注册时间:2016/10/6
发站内信
发表于:2016/10/18 11:58:20
#2560楼
回复 #2553楼 liaosun
非常感谢廖老师的回复,您的书《S7-300/400PLC应用技术》第一版是我学习西门子PLC相伴了10年的朋友。不懂之处,还会向您讨教。再次感谢
挣不到money... ...就挣点姿势吧 @_@
638
lhx3100
文章数:4
年度积分:50
历史总积分:638
注册时间:2015/11/10
发站内信
发表于:2016/10/19 14:29:01
#2561楼
支持,支持
550
nfwduan
文章数:11
年度积分:50
历史总积分:550
注册时间:2016/10/6
发站内信
发表于:2016/10/20 16:48:07
#2562楼
廖老师:您好。
       贵书s7200《PLC编程及应用》第四版6.7节“Modus协议在通信中的应用”一节中有不太明白之处,向您讨教:
       1. P182图6-26 Modbus主站程序中的  初始化指令MBUS_CTRL 的"Done"位必须在从站的初始化指令MBUS_INIT指令成功执行后才=1(也即双方的初始化都完成后主站的初始化才算真正完成);   主站读写从站的指令MBUS_MSG  的Done位,书上说“响应完成或MBUS_MSG因为错误终止时Done才=1” 对于前者“响应完成”,我的理解是:必须等到主站的命令,如书中例程: 从主站VW100-VW106写4个字到从站的VW200-VW206 中;必须等到从站的响应命令“MBUS_SLAVE”执行后,也即将4个字写入从站后,主站的请求命令“MBUS_MSG"的Done位才=1。 请教一下,我的这种理解是否正确?

        2. MODUS地址:00001-09999;10001-19999;30001-39999;40001-49999所有这些地址都是针对从站而言,即从站才有Modus地址?     {  在S7200中,s7200数据存储区与Modus地址对应关系是:00001-00128(Q0.0-Q15.7);10001-10128(i0.0-i15.7);30000-30032(AIW0-AIW62).... ...这里的Q区,I区,AI区等我发现都是说的都是从站中的数据存储区,是不是因为它只在从站的初始化指令MBUS_INIT定义了;在s7200中就是这么定义的。  假如在其他品牌如三菱PLC中,这个初始化定义存储区的指令是在主站中,那么在三菱plc的 modus通信中,这些被定义了的主站存储区就与MODUS地址对应,也就是这些Modus地址是针对主站而言的了? } 我是发现书中这些MODUS地址都是针对从站而言的,因为它们与主站的地址没有关联。

       3.图6-26和图6-31的主从通信的例程,是在两台s7200间进行的modus主从通信,例程里用到的应该是功能16:将多个保持寄存器的值写入S7200从站的V存储区。   其他的功能也是可以实现的吧,比如:要用主站的iB0去控制从站的QB0,是不是只要在主站的请求指令MBUS_MSG中设置:RW为写;Addr为00001(起始地址);Count为8(写8位);DataPtr这个参数是用&VB100赋值还是&IB0赋值? 我认为还是&VB赋值才对,因为这里是用的缓冲区。(可先将IB0的值复制到MV100中,再去控制从站QB0);针对本例程控制从站Q区,从站的初始化指令MBUS_INIT就用书上的设置就可以了吧? 不知道我这些想法对不对?(没有实物做实验验证)

     4.对于MODUS协议,书上提到还有一种ASCⅡ协议,不知道这种协议又是用在哪儿?可不可以简单介绍一些。

     以上,恳请老师有空的时候解答一下。谢谢
挣不到money... ...就挣点姿势吧 @_@
6047
liaosun
文章数:1398
年度积分:50
历史总积分:6047
注册时间:2003/5/4
发站内信
2015论坛贡献奖
2014论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011博客贡献奖
2010博客杰出贡献奖
发表于:2016/10/20 20:57:42
#2563楼
以下是引用nfwduan2016/10/20 16:48:07的发言:
廖老师:您好。
       贵书s7200《PLC编程及应用》第四版6.7节“Modus协议在通信中的应用”一节中有不太明白之处,向您讨教:
       1. P182图6-26 Modbus主站程序中的  初始化指令MBUS_CTRL 的"Done"位必须在从站的初始化指令MBUS_INIT指令成功执行后才=1(也即双方的初始化都完成后主站的初始化才算真正完成);   主站读写从站的指令MBUS_MSG  的Done位,书上说“响应完成或MBUS_MSG因为错误终止时Done才=1” 对于前者“响应完成”,我的理解是:必须等到主站的命令,如书中例程: 从主站VW100-VW106写4个字到从站的VW200-VW206 中;必须等到从站的响应命令“MBUS_SLAVE”执行后,也即将4个字写入从站后,主站的请求命令“MBUS_MSG"的Done位才=1。 请教一下,我的这种理解是否正确?

        2. MODUS地址:00001-09999;10001-19999;30001-39999;40001-49999所有这些地址都是针对从站而言,即从站才有Modus地址?     {  在S7200中,s7200数据存储区与Modus地址对应关系是:00001-00128(Q0.0-Q15.7);10001-10128(i0.0-i15.7);30000-30032(AIW0-AIW62).... ...这里的Q区,I区,AI区等我发现都是说的都是从站中的数据存储区,是不是因为它只在从站的初始化指令MBUS_INIT定义了;在s7200中就是这么定义的。  假如在其他品牌如三菱PLC中,这个初始化定义存储区的指令是在主站中,那么在三菱plc的 modus通信中,这些被定义了的主站存储区就与MODUS地址对应,也就是这些Modus地址是针对主站而言的了? } 我是发现书中这些MODUS地址都是针对从站而言的,因为它们与主站的地址没有关联。

       3.图6-26和图6-31的主从通信的例程,是在两台s7200间进行的modus主从通信,例程里用到的应该是功能16:将多个保持寄存器的值写入S7200从站的V存储区。   其他的功能也是可以实现的吧,比如:要用主站的iB0去控制从站的QB0,是不是只要在主站的请求指令MBUS_MSG中设置:RW为写;Addr为00001(起始地址);Count为8(写8位);DataPtr这个参数是用&VB100赋值还是&IB0赋值? 我认为还是&VB赋值才对,因为这里是用的缓冲区。(可先将IB0的值复制到MV100中,再去控制从站QB0);针对本例程控制从站Q区,从站的初始化指令MBUS_INIT就用书上的设置就可以了吧? 不知道我这些想法对不对?(没有实物做实验验证)

     4.对于MODUS协议,书上提到还有一种ASCⅡ协议,不知道这种协议又是用在哪儿?可不可以简单介绍一些。

     以上,恳请老师有空的时候解答一下。谢谢

1.P182倒数第5行“MBUS_INIT指令如果被成功地执行,输出位Done(完成)为ON。”应改为“MBUS_CTRL指令如果被成功地执行,输出位Done(完成)为ON。”
2.“响应完成或MBUS_MSG指令因为错误中止时,Done(完成)输出为ON。”你的理解是对的。
3.MODBUS地址是从站中的地址。
4.参数DataPtr是间接寻址的地址指针,指向主站CPU中保存与读/写请求有关的数据的V存储区。
5.ASCII协议用得很少,三菱FX用的实际上就是ASCII协议。
6047
liaosun
文章数:1398
年度积分:50
历史总积分:6047
注册时间:2003/5/4
发站内信
2015论坛贡献奖
2014论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011博客贡献奖
2010博客杰出贡献奖
发表于:2016/10/20 21:02:20
#2564楼
《跟我动手学S7-300/400 PLC》问题的回复
读者王洪涛提出下面的问题:

廖老师:
您好!
《跟我动手学S7-300/400 PLC》第21页 图2-26中SB1、FR为常闭触点,交流接触器KM1、KM2额定电压为~380V。
而图2-27中,SB1、FR为常开触点,交流接触器KM1、KM2额定电压为~220V。
两者不相符,如果是实际电路的改造,则PLC外部接线图是不正确的。

下面是我的回复:
PLC的继电器输出只能接220V,不能接380V。
PLC的输入端如果接停止按钮SB1和热继电器FR的常闭触点,梯形图中对应的I0.2和I0.5的触点就应该接常开了。
1912
xsinter
文章数:76
年度积分:50
历史总积分:1912
注册时间:2012/11/25
发站内信
发表于:2016/10/20 21:49:08
#2565楼
s7200《PLC编程及应用》第四版,P182,这个例子中,参数COUNT=4,怎么知道数据类型是字数,而不是位数?
随书光盘中的“Modbus主站协议通信2.mwp”这个例子中的Count=16,是位吗?VW108-VW114清零是什么意思?这个例子中的参数DataPtr,用的是"&IB0"和“&QB0”
[此贴子已经被作者于2016/10/21 11:06:22编辑过]
550
nfwduan
文章数:11
年度积分:50
历史总积分:550
注册时间:2016/10/6
发站内信
发表于:2016/10/20 22:20:05
#2566楼
正好看到这里,就替老师回答一下:P183页的VB2200是正确的,是指的库存储区的起始地址,见P186页:4.分配库存储器第四行。
Count=4是位还是字,应该是看它前面一个参数:Addr为00001-09999(或10001-19999)就指的是位;若是30001-39999(或40001-49999)就指的是字;count表示的是数据元素的个数。
[此贴子已经被作者于2016/10/20 22:29:54编辑过]
挣不到money... ...就挣点姿势吧 @_@
1912
xsinter
文章数:76
年度积分:50
历史总积分:1912
注册时间:2012/11/25
发站内信
发表于:2016/10/21 11:11:35
#2567楼
以下是引用nfwduan2016/10/20 22:20:05的发言:
正好看到这里,就替老师回答一下:P183页的VB2200是正确的,是指的库存储区的起始地址,见P186页:4.分配库存储器第四行。
Count=4是位还是字,应该是看它前面一个参数:Addr为00001-09999(或10001-19999)就指的是位;若是30001-39999(或40001-49999)就指的是字;count表示的是数据元素的个数。
[此贴子已经被作者于2016/10/20 22:29:54编辑过]
I、Q区也可以是字的啊,IW0,QW0也是可以的吧
550
nfwduan
文章数:11
年度积分:50
历史总积分:550
注册时间:2016/10/6
发站内信
发表于:2016/10/21 12:12:26
#2568楼
你说的都不错,但协议规定了00001-19999都是位类型。
[此贴子已经被作者于2016/10/23 21:11:06编辑过]
挣不到money... ...就挣点姿势吧 @_@
550
nfwduan
文章数:11
年度积分:50
历史总积分:550
注册时间:2016/10/6
发站内信
发表于:2016/10/22 11:50:49
#2569楼
廖老师:您好。
    s7200《PLC编程及应用》第四版6.8节:S7200与变频器的USS协议和Modbus协议通信。读完此章,有如下问题请教:
    1.西门子变频器V20可以通过USS和Modbus两种方式与主站S7200通信(也即S7200可以通过两种方式控制V20);想弄明白:控制V20变频器时,选择这两种控制方式有什么不同,是不是可以任意选择一种协议控制方式?

    2.S7200通过Modbus控制变频器V20时,通过了其中一个参数P2023选择MOdbus协议;其他品牌的变频器是不是也可以通过其某个参数选择Modbus协议(如果它支持的话),然后与S7200通信(仍然用S7200指令库中的命令:MBUS_CTRL初始化指令和MBUS_MSG读写请求命令)。 如果是这样,感觉第一个问题的答案似乎是:USS协议是西门子专有的,而Modbus协议是公开的,前者只适合西门子变频器与PLC通信;后者可以是其他品牌变频器与PLC通信(如果是S7200的PLC就用其提供的库指令;如果是其他品牌的PLC,若其没有相应的库指令就得自己编程去控制变频器) 这些只是自己的理解,不知对否?

    3.s7300没有相应的Modbus库指令,是不是就不能用Modus通信(比如去控制V20)?

    4.S7300没有相应的库指令USS_INt, USS_WPM_R,USS_RPM_R等初始化和参数读写指令,是不是也可以写程序去控制西门子的变频器如V20等?
    以上,是在学习本书章节时产生的疑问,感觉问题比较偏,还是麻烦老师有空的时候解答一下。非常感谢!
挣不到money... ...就挣点姿势吧 @_@

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

93.6006