如何用TD400读取两个PLC中的数据? 点击:1295 | 回复:19



杰哥马

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 27回
  • 年度积分:0
  • 历史总积分:273
  • 注册:2010年9月15日
发表于:2010-11-13 23:36:21
楼主

各位高手,小弟碰上一个很棘手的问题:现在的配置一个224CN和一个222CN,还有一个TD400显示屏,能不能将222中VW0-VW15中的值存入到224中的VW0-VW15中区,然后在TD400上显示224中VW0-VW31中的值,据说可以用一个DP头,用PPI通信搞定,但具体能不能做我不知道,如果能做该怎么做?望高手们不吝赐教,小弟不胜感激!注:小弟新来,没有分赠送,还请高手不要怪罪!




wzx7439951

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 103回
  • 年度积分:0
  • 历史总积分:927
  • 注册:2008年4月12日
发表于:2010-11-15 15:09:53
1楼
PPI通讯,网络读写指令就行,很简单的,西门子200系统手册上说的很详细的。

老愚者

  • 精华:1帖
  • 求助:0帖
  • 帖子:9帖 | 2253回
  • 年度积分:0
  • 历史总积分:10007
  • 注册:2006年8月20日
发表于:2010-11-15 15:35:31
2楼

使用NETR/NETW向导可以实现,好在DT400是西门子自己的产品,支持多主站。不过由222和224、TD400组成的多主站的PPI网络调试麻烦些(因为通讯口)。

类似这种要求,使用222,224各1个,加上1个威纶6056或6070触摸屏,更容易搞。这样因为222和224的通讯口仍然是PPI口,调试方便。

杰哥马

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 27回
  • 年度积分:0
  • 历史总积分:273
  • 注册:2010年9月15日
发表于:2010-11-15 17:04:26
3楼
回复内容:
对:老愚者 关于

使用NETR/NETW向导可以实现,好在DT400是西门子自己的产品,支持多主站。不过由222和224、TD400组成的多主站的PPI网络调试麻烦些(因为通讯口)。

类似这种要求,使用222,224各1个,加上1个威纶6056或6070触摸屏,更容易搞。这样因为222和224的通讯口仍然是PPI口,调试方便。

内容的回复:

首先谢谢您的回复,你说的那种情况是将屏作为主站来读取222和224,但是现在我想让224作为主站,读取222,还要和TD400连接,但是224只有一个口,好像比较麻烦,不知道行不行,但是现在我就是不知道怎么处理这种情况,不知道您介不介意告诉我方案怎么能实现,请教了!!可以发我邮箱:im.jam@163.com        谢谢!

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2010-11-15 19:52:08
4楼

那我建议楼主采用 224 XP CN 这款PLC 主机,这样不就有2个口了,

看看西门子 200  的 编程手册吧;

编程手册--帮助文档     

      当CPU的通信口被自由口通信所占用时,或TD 200与CPU的距离超过50米时,可用EM277模块连接TD 200与CPU。这时,应当在TD 200设置菜单中将EM277的地址设置为CPU地址。

一个CPU可以连接几个TD 200?一个TD 200可以连接几个CPU?

CPU通信口可以连接3个TD 200。如果每个TD 200的数据块各不相同,要注意在TD 200中所能设置的数据块起始地址最大为VB999。

如果CPU上的通信口被占用,或者连接数目不够,可以在CPU上附加EM277模块(CPU221除外),EM277的连接数是5个TD 200。

一个TD 200在一个时刻只能与一个CPU通信。

CPU上的通信口已经被占用(如自由口通信等),或者CPU的连接数已经用尽,如何连接HMI?

可以在CPU上附加EM277模块,EM277上的通信口可以连接西门子的HMI。其他品牌的HMI是否能够连接要问其生产厂家。

老菜鸟

  • 精华:22帖
  • 求助:0帖
  • 帖子:301帖 | 8609回
  • 年度积分:0
  • 历史总积分:24924
  • 注册:2003年6月15日
发表于:2010-11-15 20:16:15
5楼
关于两个200通信的问题,我专门发过相应的帖子,需要的话可以去看一下。

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:55帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2010-11-15 20:29:24
6楼
楼主的要求可以实现,TD400和两个CPU之一做PPI主站,组成一个多主网络即可,如果222做主站就用NETW指令把VW0-15写入224,如果224做主站就用NETR指令把222的VW0-15读到224,做从站的CPU无需读写指令程序.注意各站的地址要不同.

老愚者

  • 精华:1帖
  • 求助:0帖
  • 帖子:9帖 | 2253回
  • 年度积分:0
  • 历史总积分:10007
  • 注册:2006年8月20日
发表于:2010-11-15 21:44:07
7楼

我给楼主提的建议是:

222和224都不做主站,那当然就不采用NETR/NETW指令,也不采用向导。

废掉那个TD400,用买文本显示器的钱去买个双串口的触摸屏。用这个屏同时显示两个PLC的内容。

这样两个PLC都只要求单通讯口,并且运行的是PPI口,每个PLC都可以脱离另1个PLC单独运行,在运行中可以用MICRO/WIN来监视PLC,这点对于调试工作是很宝贵的。

老愚者

  • 精华:1帖
  • 求助:0帖
  • 帖子:9帖 | 2253回
  • 年度积分:0
  • 历史总积分:10007
  • 注册:2006年8月20日
发表于:2010-11-15 22:05:21
8楼

再说明点:

废掉那个TD400,功能单一,比手机屏幕还小的文本太小儿科。用买文本显示器的钱去买个双串口的触摸屏(价钱可能有些出入),用这个屏可以同时显示两个PLC的内容。如有要求两个PLC交换数据,这个屏也能;在数据量不是很大时(像楼主的16个字),编程比用NETR/NETW省事。

杰哥马

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 27回
  • 年度积分:0
  • 历史总积分:273
  • 注册:2010年9月15日
发表于:2010-11-16 15:59:33
9楼
回复内容:
对:miy_gongkong 关于

那我建议楼主采用 224 XP CN 这款PLC 主机,这样不就有2个口了,

看看西门子 200  的 编程手册吧;

编程手册--帮助文档     

      当CPU的通信口被自由口通信所占用时,或TD 200与CPU的距离超过50米时,可用EM277模块连接TD 200与CPU。这时,应当在TD 200设置菜单中将EM277的地址设置为CPU地址。

一个CPU可以连接几个TD 200?一个TD 200可以连接几个CPU?

CPU通信口可以连接3个TD 200。如果每个TD 200的数据块各不相同,要注意在TD 200中所能设置的数据块起始地址最大为VB999。

如果CPU上的通信口被占用,或者连接数目不够,可以在CPU上附加EM277模块(CPU221除外),EM277的连接数是5个TD 200。

一个TD 200在一个时刻只能与一个CPU通信。

CPU上的通信口已经被占用(如自由口通信等),或者CPU的连接数已经用尽,如何连接HMI?

可以在CPU上附加EM277模块,EM277上的通信口可以连接西门子的HMI。其他品牌的HMI是否能够连接要问其生产厂家。

内容的回复:

谢谢您的建议,我最后采用的就是将224CN换成224XP这种方案,不过废掉了3块224CN!

杰哥马

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 27回
  • 年度积分:0
  • 历史总积分:273
  • 注册:2010年9月15日
发表于:2010-11-16 16:01:26
10楼
回复内容:
对:老愚者 关于

再说明点:

废掉那个TD400,功能单一,比手机屏幕还小的文本太小儿科。用买文本显示器的钱去买个双串口的触摸屏(价钱可能有些出入),用这个屏可以同时显示两个PLC的内容。如有要求两个PLC交换数据,这个屏也能;在数据量不是很大时(像楼主的16个字),编程比用NETR/NETW省事。

内容的回复:

谢谢您的建议,我考虑一下,用触摸屏我还要编程,麻烦,我就直接换成224XP了

杰哥马

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 27回
  • 年度积分:0
  • 历史总积分:273
  • 注册:2010年9月15日
发表于:2010-11-16 16:09:48
11楼
回复内容:
对:winter938 关于楼主的要求可以实现,TD400和两个CPU之一做PPI主站,组成一个多主网络即可,如果222做主站就用NETW指令把VW0-15写入224,如果224做主站就用NETR指令把222的VW0-15读到224,做从站的CPU无需读写指令程序.注意各站的地址要不同. 内容的回复:


谢谢您的回复!我这样试了一下,我将224作为主站,用NETR指令把222的VW0-15读到224,结果屏没有显示了,我分析了一下,估计是一个通讯口不能同时读222和与TD400通信,或者可能是我程序上有什么问题没有读出来,是不是把他们两个的通讯时间给错开也许可以,相当于分时复用这个口,但是我不知道改怎么编程,还希望高手指点!

老愚者

  • 精华:1帖
  • 求助:0帖
  • 帖子:9帖 | 2253回
  • 年度积分:0
  • 历史总积分:10007
  • 注册:2006年8月20日
发表于:2010-11-16 21:48:53
12楼

你的这个系统(222+224+TD400,224做主站,)完全可行。设置要点:3个设各有不相同的站号,完全相同的波特率。TD400的通讯对口是224的站地址。

 

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:55帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2010-11-16 22:51:13
13楼
回复内容:
对:杰哥马 关于回复内容:
对:winter938 关于楼主的要求可以实现,TD400和两个CPU之一做PPI主站,组成一个多主网络即可,如果222做主站就用NETW指令把VW0-15写入224,如果224做主站就用NETR指令把222的VW0-15读到224,做从站的CPU无需读写指令程序.注意各站的地址要不同. 内容的回复:


谢谢您的回复!我这样试了一下,我将224作为主站,用NETR指令把222的VW0-15读到224,结果屏没有显示了,我分析了一下,估计是一个通讯口不能同时读222和与TD400通信,或者可能是我程序上有什么问题没有读出来,是不是把他们两个的通讯时间给错开也许可以,相当于分时复用这个口,但是我不知道改怎么编程,还希望高手指点!
内容的回复:


224和TD400做主站他们是分时以令牌循环方式占用网络的,这个PPI协议已经实现了用户不必去管,你多半是TD400的配置数据块放到了VW0-15的区域,建议你仔细阅读TD400的手册.

杰哥马

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 27回
  • 年度积分:0
  • 历史总积分:273
  • 注册:2010年9月15日
发表于:2010-11-18 19:34:10
14楼
回复内容:
对:winter938 关于回复内容:
对:杰哥马 关于回复内容:
对:winter938 关于楼主的要求可以实现,TD400和两个CPU之一做PPI主站,组成一个多主网络即可,如果222做主站就用NETW指令把VW0-15写入224,如果224做主站就用NETR指令把222的VW0-15读到224,做从站的CPU无需读写指令程序.注意各站的地址要不同. 内容的回复:


谢谢您的回复!我这样试了一下,我将224作为主站,用NETR指令把222的VW0-15读到224,结果屏没有显示了,我分析了一下,估计是一个通讯口不能同时读222和与TD400通信,或者可能是我程序上有什么问题没有读出来,是不是把他们两个的通讯时间给错开也许可以,相当于分时复用这个口,但是我不知道改怎么编程,还希望高手指点!
内容的回复:


224和TD400做主站他们是分时以令牌循环方式占用网络的,这个PPI协议已经实现了用户不必去管,你多半是TD400的配置数据块放到了VW0-15的区域,建议你仔细阅读TD400的手册.
内容的回复:

我想您说的是可以的,但是这个方案具体在程序里怎么实现?忘高手不吝赐教!

毕庆民

  • 精华:21帖
  • 求助:5帖
  • 帖子:584帖 | 5227回
  • 年度积分:0
  • 历史总积分:10489
  • 注册:2005年6月13日
发表于:2010-11-18 20:18:40
15楼

把信息读写到一个PLC中可以,但222 224只有一个通讯口,虽然西门子200通讯口支持5个连接,但只是理论。

用个普通国产的TP2000文本屏吧,简单实用便宜

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:55帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2010-11-19 18:14:58
16楼
我做过老版的TD200和两台224组网实验,TD200和一台224做主站,在做主站的CPU224中存储TD200的配置参数(就是TD200的画面以及输入输出数据等)放在VW0开始的区域,这台224使用NETR指令读另一台224的数据到VW500以后的存储区域(注意千万不要修改前述配置参数数据区,否则显示不正常,实验中画面较少未用到VW500后的区域所以这样设置),另外三个站的波特率要一致,站号在224主站设为2,另一台设为3,TD200中对CPU地址设为主站的2,如此即可实现两个主站的多主网络.

杰哥马

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 27回
  • 年度积分:0
  • 历史总积分:273
  • 注册:2010年9月15日
发表于:2010-11-19 20:03:54
17楼
回复内容:
对:winter938 关于我做过老版的TD200和两台224组网实验,TD200和一台224做主站,在做主站的CPU224中存储TD200的配置参数(就是TD200的画面以及输入输出数据等)放在VW0开始的区域,这台224使用NETR指令读另一台224的数据到VW500以后的存储区域(注意千万不要修改前述配置参数数据区,否则显示不正常,实验中画面较少未用到VW500后的区域所以这样设置),另外三个站的波特率要一致,站号在224主站设为2,另一台设为3,TD200中对CPU地址设为主站的2,如此即可实现两个主站的多主网络. 内容的回复:

谢谢您的回复,我回去实验一下!

#天涯

  • 精华:0帖
  • 求助:3帖
  • 帖子:100帖 | 2953回
  • 年度积分:0
  • 历史总积分:8816
  • 注册:2005年3月02日
发表于:2010-11-23 08:29:25
18楼
学习了!                      

ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2010-11-23 08:44:16
19楼
引用winter938 的回复内容:我做过老版的TD200和两台224组网实验,TD200和一台224做主站,在做主站的CPU224中存储TD200的配置参数(就是TD200的画面以及输入输出数据等)放在VW0开始的区域,这台224使用NETR指令读另一台224的数据到VW500以后的存储区域(注意千万不要修改前述配置参数数据区,否则显示不正常,实验中画面较少未用到VW500后的区域所以这样设置),另外三个站的波特率要一致,站号在224主站设为2,另一台设为3,TD200中对CPU地址设为主站的2,如此即可实现两个主站的多主网络.


请问通过文本读写主站224时,主站224与从站224之间的通讯上有一定的冲突吧?如何克服,实现这个分时使用呢?

热门招聘
相关主题

官方公众号

智造工程师