请教erxun版主:如何用C语言编程 通过PROFIBUS转换模块直接和S7-200的DB数据块通讯?
我想用单片机实现类似组态软件功能,即在单片机上设置的参数,直接将“设置值”传输到PLC的DB数据块中(INT型DB)。
在单片机上按下的按钮,直接将“1”传输到PLC的DB数据块中(BOOL型DB)。
不知道,如何将设置的参数和按下的按钮映射到PLC中的DB块中? 这个方式没有做过,
以前用自由口通讯方式,实现PLC和单片机通讯。 你说的模块是指什么?
硬件成套的?
好像西门子的DP协议不是公开的,自己编DP从站有点复杂。
并且西门子200只能做从站,做主站的得300或以上系列。
电脑要做主站得+CP5611卡。
你买的模块可能也只能作从站。
可以用MODBUS,比较方便。
自由口比较繁琐。 我想实现如下功能:
在自己开发的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主站 |
| |
----------------------------- 没有办法,由于不熟悉PROFIBUS协议,因此购买了一个厂家的 “PROFIBUS 转 MODBUS”模块,然后自己编写一个MODBUS主站程序实现相应的功能。 我已经实现了上述功能。
1、购买了一块PROFIBUS 转 MODBUS 模块 (价格1200元左右)
2、自己在C51单片机上编写了 MODBUS 主站程序 和PLC进行数据交换。
经过一段时间的通讯,通讯质量100%。
比买西门子的MODBUS 协议软件包+MODBUS模块便宜多了(西门子PLC上购买MODBUS协议包和MODBUS模块需要1万块钱左右) 回复【5楼】ba_wang_mao
我已经实现了上述功能。
1、购买了一块profibus 转 modbus 模块 (价格1200元左右)
2、自己在c51单片机上编写了 modbus 主站程序 和plc进行数据交换。
经过一段时间的通讯,通讯质量100%。
比买西门子的modbus 协议软件包+modbus模块便宜多了(西门子plc上购买modbus协议包和modbus模块需要1万块钱左右)
-----------------------------------------------------------------------
拜托,西门子MODBUS软件包不用买,网上可以下载,如果是从站,直接带指令,如果是主站,下一个包就可以,网站上也有人发了,而且我也发过使用说明,还有你如果真需要PROFIBUS从站,干嘛不买EM277呢?偶滴大神哦,你真的是怎么说呢?唉,绕好大一个弯子啊。 好厉害 哈哈,S7-200有免费的modbus主站和从站的软件包可用。单片机只需要做成modbus就可以了。为什么要用profibus?有点舍近求远了 S7-200的modbus主站和从站的软件包是免费的!!S7-300的CP341+modbus主站狗才要一万多!不过用S7-300的话,通讯模块用CP340也可以,只是要自己编写MODBUS程序,程序也不是很难。 mark 正在接触这方面的 顶。。。
页:
[1]