ba_wang_mao 发表于 2010-6-2 13:06:59

请教erxun版主:如何用C语言编程 通过PROFIBUS转换模块直接和S7-200的DB数据块通讯?

我想用单片机实现类似组态软件功能,即
   
      在单片机上设置的参数,直接将“设置值”传输到PLC的DB数据块中(INT型DB)。
      在单片机上按下的按钮,直接将“1”传输到PLC的DB数据块中(BOOL型DB)。

      不知道,如何将设置的参数和按下的按钮映射到PLC中的DB块中?

erxun 发表于 2010-6-2 13:12:32

这个方式没有做过,
以前用自由口通讯方式,实现PLC和单片机通讯。

mystar1984 发表于 2010-6-2 14:08:24

你说的模块是指什么?
硬件成套的?
好像西门子的DP协议不是公开的,自己编DP从站有点复杂。
并且西门子200只能做从站,做主站的得300或以上系列。
电脑要做主站得+CP5611卡。
你买的模块可能也只能作从站。

可以用MODBUS,比较方便。

自由口比较繁琐。

ba_wang_mao 发表于 2010-6-2 16:25:04

我想实现如下功能:
      在自己开发的MODBUS主站上可以将:
         (1)、用户按下的按钮,根据MODBUS协议中的“预置单个线圈指令”,通过MODBUS和PROFIBUS转换模块提交给PLC。
         (2)、MODBUS主站定时读取PLC的内部开关状态,即根据MODBUS协议中的“读取离散输入寄存器指令”,通过MODBUS和PROFIBUS转换模块提交给PLC。
         (3)、MODBUS主站定时读取PLC的内部整型变量,即根据MODBUS协议中的“读取输入寄存器指令”,通过MODBUS和PROFIBUS转换模块提交给PLC。

         好象需要在PLC上配置GSD文件,相当于给PLC开发一个第三方控件,设置这个第三方控件的
             DI的数量,DO的数据,AI的数量

             ------------------------------------------
             |                                        |
             |                                        |
             |               西门子 PLC               |
             |                                        |
             |                                        |
             ------------------------------------------
                              |               
                     -----------------------------
                  |                            |
                  |    PROFIBUS 和MODBUS       |
                  |                            |
                  |       互相转换模块         |
                  |                            |
                     -----------------------------
                              |
                     -----------------------------
                  |                            |
                  |   自己开发的MODBUS主站   |
                  |                            |
                     -----------------------------

ba_wang_mao 发表于 2010-10-20 15:13:30

没有办法,由于不熟悉PROFIBUS协议,因此购买了一个厂家的 “PROFIBUS 转 MODBUS”模块,然后自己编写一个MODBUS主站程序实现相应的功能。

ba_wang_mao 发表于 2010-12-6 16:46:36

我已经实现了上述功能。

    1、购买了一块PROFIBUS 转 MODBUS 模块 (价格1200元左右)

    2、自己在C51单片机上编写了 MODBUS 主站程序 和PLC进行数据交换。


    经过一段时间的通讯,通讯质量100%。


    比买西门子的MODBUS 协议软件包+MODBUS模块便宜多了(西门子PLC上购买MODBUS协议包和MODBUS模块需要1万块钱左右)

unicontrol 发表于 2010-12-17 23:09:28

回复【5楼】ba_wang_mao
我已经实现了上述功能。
    1、购买了一块profibus 转 modbus 模块 (价格1200元左右)
    2、自己在c51单片机上编写了 modbus 主站程序 和plc进行数据交换。
    经过一段时间的通讯,通讯质量100%。
    比买西门子的modbus 协议软件包+modbus模块便宜多了(西门子plc上购买modbus协议包和modbus模块需要1万块钱左右)

-----------------------------------------------------------------------

拜托,西门子MODBUS软件包不用买,网上可以下载,如果是从站,直接带指令,如果是主站,下一个包就可以,网站上也有人发了,而且我也发过使用说明,还有你如果真需要PROFIBUS从站,干嘛不买EM277呢?偶滴大神哦,你真的是怎么说呢?唉,绕好大一个弯子啊。

CHENGPLCPLC 发表于 2010-12-18 15:03:19

好厉害

ckliushx 发表于 2011-1-2 19:28:06

哈哈,S7-200有免费的modbus主站和从站的软件包可用。单片机只需要做成modbus就可以了。为什么要用profibus?有点舍近求远了

free4zzz 发表于 2011-3-21 16:41:33

S7-200的modbus主站和从站的软件包是免费的!!S7-300的CP341+modbus主站狗才要一万多!不过用S7-300的话,通讯模块用CP340也可以,只是要自己编写MODBUS程序,程序也不是很难。

story_1987 发表于 2011-9-9 10:58:13

mark

taojie 发表于 2011-12-28 17:12:48

正在接触这方面的

drydiy 发表于 2013-8-27 01:11:36

顶。。。
页: [1]
查看完整版本: 请教erxun版主:如何用C语言编程 通过PROFIBUS转换模块直接和S7-200的DB数据块通讯?