用S7-200实现一个下面的控制系统,可行么? 点击:358 | 回复:6



yashe1990

    
  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 5回
  • 年度积分:0
  • 历史总积分:53
  • 注册:2012年10月31日
发表于:2013-01-06 13:46:52
楼主

先自我介绍一下,我是学生,之前接触过多种单片机,所以下面的内容如果用一个单片机来做,是很容易的。我之前对PLC也有一些了解,但没有实战过,写过PLC开关控制,感觉和数电差不多,都是与或非,可是现在要用PLC做一个模拟量控制系统。

最近在做一个课题,控制对象在计算机里仿真实现,PLC则做控制算法

PLC的输入输出不再是依靠I/O模块读写,而是从串口收发
控制系统的数据大多都是浮点的,也就是说,PLC在一个扫描周期需要做下面几件事
1、需要从串口读入数据,这个数据是浮点数类型
2、PLC用读入的数据进行控制运算,控制算法要求PLC有较强的计算能力,如浮点数的加减乘除
3、PLC将计算的结果,控制量(模拟量)以浮数的形式,通过串口通道发送到系统仿真器。

4、关于通信。因为PLC作为控制器,系统要求只有当PLC需要读取数据时,PLC发送一个需要读取的指令,系统仿真器收到指令才能发送数据。而据我初略了解,PLC在与PC的通信中,很多模式下PC是作为主从模块的“主机”,PLC作为“从机”,而本系统要把这情况颠倒过来。由于PLC都是模块集成的,相对于MCU来讲,拓展性差了不少(稳定性大大提高),敢问西门子S7-200能否胜任上面的控制要求?

我请教过一些工程人员,他们说平时都用S7-200做流程控制,很少做模拟量,即使是PID也是直接调用里面做好的PID模块,可是我这个课题需要自己实现这些算法,所以我想知道,S7-200能否符合我的要求。

谢谢各位的帮助。




renju

  • 精华:1帖
  • 求助:0帖
  • 帖子:48帖 | 419回
  • 年度积分:0
  • 历史总积分:1300
  • 注册:2011年4月11日
发表于:2013-01-06 13:53:20
1楼

1:PLC浮点数计算比较慢,不明白为什么数据要交给PLC来算。如果计算公式比较复杂,会很慢…………

2:S7-200 PLC可以做主机,走MODBUS协议,浮点数当然是没有问题的。西门子有现成的MODBUS库

银光人生—华

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 13597回
  • 年度积分:0
  • 历史总积分:52877
  • 注册:2007年11月23日
发表于:2013-01-06 13:55:02
2楼
应该是可行的,但是工程中没有这样做过;都是进行简单数据交换的;

yashe1990

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 5回
  • 年度积分:0
  • 历史总积分:53
  • 注册:2012年10月31日
发表于:2013-01-06 14:02:11
3楼

先谢谢ls两位老师

工程上肯定不是这么做了,只是现实系统很庞大,组建费用大,为了研究方便,所以只好仿真实现了。您们讲的“慢”,应当是说PLC计算比较慢吧?在通信上只是发送简单的几组数据,传输量不大,延时应该很小。

星空依然蓝

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1233回
  • 年度积分:0
  • 历史总积分:2200
  • 注册:2008年11月23日
发表于:2013-01-06 14:11:25
4楼
路过,路过,进来学习了。

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2013-01-07 10:03:41
5楼

引用 yashe1990 的回复内容:先谢谢ls两位老师工程上肯定不是这么做了,只是现实系统很庞大,组建费用大,为了研究方便,所以只好仿真实现了。您们讲的“慢”,应当是说PLC计算比较慢吧?在通信上只是发送简单的几组数据,传输量不大,延时应该很小。



首先 ,S7-200 完全恩满足你的要求, 但你提出的几个问题 实际情况可能和想像的不同,有以下几点:

1. 控制系统的数据大多都是浮点的,也就是说,PLC在一个扫描周期需要做下面几件事

   回答: PLC 的通讯 读取和扫描周期执行 是异步进行的,通讯的发送和接收通过中断方式执行,不一定在一个扫描周期能完成一次通讯的,所以你要求读取完成数据后,在进行数据计算,这个流程要你通过程序控制。


2. 关于通信。因为PLC作为控制器,系统要求只有当PLC需要读取数据时,PLC发送一个需要读取的指令,系统仿真器收到指令才能发送数据。而据我初略了解,PLC在与PC的通信中,很多模式下PC是作为主从模块的“主机”,PLC作为“从机”,而本系统要把这情况颠倒过来。

    回答: PLC 既可以做主站,也可以做从站,这个由你自己来设计。

 

疑问: 你说了半天 并没有说具体的仕么算法?  顺便提醒一下 小数据量的浮点计算 PLC 还是能胜任的。

 

 

yashe1990

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 5回
  • 年度积分:0
  • 历史总积分:53
  • 注册:2012年10月31日
发表于:2013-01-07 13:02:22
6楼

       感谢你的回复,从你的讲解中,我学了很多。

里面的控制算法肯定比PID要复杂,比如参数自整定,人工神经网络算法,另外根据实际建模,算法里可能还会出现一些参数,等到我做完之后,到时候和大家分享吧。

      然后就是针对第一条的,我觉得只要能够正常接收,那就可以了。我可以设计一个缓冲队列,中断收到的数据往缓冲队列里写,主循环每次到队列里面取数据就可以了。不过现在感觉PLC的语句写起来特别别扭,可能是单片机,PC机编程的思维先入为主了,以至于我反倒觉得PLC并不是广泛传播的那么“易编程”。

再次感谢你的回复。


热门招聘
相关主题

官方公众号

智造工程师