根据通信中数据传输速率、数据的吞吐量得大小,我们可以见不同的网络完成打包通信和不打包通信。
这里所谓的不打包通信是指直接利用传送指令实现的数据的读写,这类的通信每次传送的最大字节数比较小(如西门子PLC在不打包通信时最大只能传送4个字节);打包通信是指通过调用系统功能或相关更强大的功能指令实现一次能传送更多数据的传送。(如西门子PLC通过调用SFC14,SFC15来实现数据的打包通信)。
本期擂台:请根据你所了解的通信情况,给出一个打包通信的例子或不打包通信的例子(最好是打包通信),项目和实验的仿真例子都可以!回答的最好最全面者首先拿大奖!
PLC品牌不限。
工控PLC擂台每周一期,本期下周末结贴。奖项设置:一等奖1名:50MP,二等奖5名:10MP,三等奖10名:30积分。
MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。
MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。
楼主最近还看过
S7-300的ProfiBus打包通信
系统功能:SFC14、SFC15的ProfiBus通信应用 ,在组态PROFIBUS-DP通信时常常会见到参数“Consistency”(数据的一致性),如图所示,如果选“Unit”,数据的通信将以在参数“Unit”中定义的格式——字或字节来发送和接收,比如,主站以字节格式发送20字节,从站将一字节一字节地接收和处理这20字节。若数据到达从站接收区不在同一时刻,从站可能不在一个循环周期处理接收区的数据,如果想要保持数据的一致性,在一个周期处理这些数据就要选择参数“All”,有的版本是参数“Total length”,当通信数据大于4字节时,要调用SFCl5给数据打包,调用SFCl4给数据解包,这样数据以数据包的形式一次性完成发送、接收,保证了数据一致性。下面将以例子形式介绍SFCl4、SFCl5的应用,例子中以S7-300的315-2DP作为主站,313C-2DP作为从站。
3、网络组态以及参数设置
1)、组态“从站”硬件
在STEP7中新建一个“系统功能SFC14、SFC15应用”的项目。先插入一个S7-300站,然后双击“Hardware”选项,进人“Hw config”窗口。点击“Catalog”图标打开硬件目录,按硬件安装次序和订货号依次插人机架、电源、CPU等进行硬件组态,不再多说。
插入CPU时会同时弹出PROFIBUS组态界面,如图1所示。点击“New”按钮新建PROFIBUS(1),组态PROFIBUS站地址,本例中为4。点击“Properties”按钮组态网络属性,选择“Network Settings”进行网络参数设置,在本例中设置PROFIBUS的传输速率为“1.5Mbit/s”,行规为“DP”。如图2所示。
双击CPU 313C-2DP项下的“DP”项,会弹出PROFIBUS-DP的属性菜单,如图3所示。在网络属性窗口选择“Operating Mode”菜单,激活“DP slave”操作模式,如果其下的选择框“□”被激活。则编程器可以对从站编程,即这个接口既可以作为DP从站,同时还可以通过这个接口监控程序。诊断地址为1022,为PR()FIBuS诊断时,选择默认值即可。选择“Configuration”标签,点击“New”按钮组态通信的接口区,例如输入区IB50~IB69共20字节,“Consistency”属性选择“All”,如图4所示。
在本例中组态从站通信接口区为输入IB50~IB69,输出QB5O~QB69。点击“Apply”按钮确认后,可再加入若干行通信数据。全部通信区的大小与CPU型号有关。组态完成后下载到CPU中。
2)、组态“主站”硬件
以同样的方式组态S7-300主站,配置PROFIBUS-DP的站地址为2,与从站选择同一条PROFIBUS网络,见图5。然后打开硬件目录,选择“PROFIBUSDP”→“Configuration Station”文件夹,选择CPU31X,将其连接到DP主站系统的PROFIBUS总线上。此时会自动弹出“DP-slave Properties”,在其中的“Connection”标签中选择已经组态过的从站,见图6。
然后点击“Configuration”标签,出现图7,点击“Edit”,设置主站的通信接口区,如图8所示。从站的输出区与主站的输入区相对应,从站的输入区同主站的输出区相对应,本例中主站QB50~QB69对应从站IB50。IB69,从站IB5O—IB69对应主站QB5O~QB69,如图8所示。
组态通信接口区后,下载到CPU315-2DP中,为避免网络上因某个站点掉电使整个网络不能正常工作的故障,要在S7-300中编写OB82、OB86、OBl22组织块。
4、通信编程
2)、编写从站程序
在从站的OBl中调用系统功能SCF14、SCF15。
CALL“DPRD_DAT” SFCl4
LADDR := W#16#32
RECORD := P#DBl.DBX0.0 BYTE 20
RET_VAL := MW2
SFCl4解开主站存放在IB50~IB69的数据包并放在DBl.DBBO~DBl.DBB19中。
CALL“DPWR_DAT” SFCl5
LADDR := W#16#32
RECORD := P#DB2.DBX0.0 BYTE 20
RET_VAL := MW4
SFCl5给存放在DB2.DBBO~DBl.DBB19中的数据打包,通过QB50~QB69发送出去。