15221406036
西门子模块6SE7031-8ES87-1FE0
报价: 666.00元/件
最小起订: 1
有效期至: 长期有效
发布时间: 2023-04-14 18:46
发布IP: 116.224.103.5
浏览次数: 86
手机号: 15221406036
电话: 15221406036
在线咨询: 点击这里给我发消息
15221406036
详细信息

西门子模块6SE7031-8ES87-1FE0

1:使用CPU 315F和ET 200S时应如何避免出现“通讯故障”消息?   

使用CPU S7 315F, ET 200S以及故障安全DI/DO模块,那么您将调用OB35 的故障安全程序。而且,您已经接受所有监控时间的默认设置值,并且愿意接收“通讯故障”消息。 OB 35 默认设置为100毫秒。您已经将F I/O模块的F监控时间设定为100毫秒,因此至少每100毫秒要寻址一次I/O模块。但是由于每100毫秒才调用一次OB 35,因此会发生通讯故障。要确保OB35的扫描间隔和F监控时间有所差别,请确保F监控时间大于OB35的扫描间隔时间。   
S7分布式安全系统,一直到V5.2 SP1 和 6ES7138-4FA00-0AB0,6 ES7138-4FB00-0AB0,6ES7138-4CF00-0AB0 都会出现这个问题。在新的模块中,F 监控时间设定为150毫秒.   

2:当DP从站不可用时,PROFIBUS上S7-300 CPU的监控时间是多少?   
使用CPU的PROFIBUS接口上的DP从站操作PROFIBUS网络时,希望在启动期间检查期望的组态与实际的组态是否匹配。在 CPU属性对话框中的Startup选项卡上给出了两个不同的时间。   

3:如何判断电源或缓冲区出错,如:电池故障?   
如果电源(仅S7-400)或缓冲区中的一个错误触发一个事件,则CPU操作系统访问OB81。错误纠正后,重新访问OB81。电池故障情况下,如果电池检测中的BATT.INDIC开关是激活的,则 S7-400仅访问OB81。如果没有组态OB81,则CPU不会进入操作状态STOP。如果OB81不可用,则当电源出错时,CPU仍保持运行。   

4:为S7CPU上的I/O模块(集中式或者分布式的)分配地址时应当注意哪些问题?   
请注意,创建的数据区域(如一个双字)不能组态在过程映象的边界上,因为在该数据块中,只有边界下面的区域能够被读入过程映像,因此不可能从过程映像访问数据。 因此,这些组态规则不支持这种情况:例如,在一个 256 字节输入的过程映像的 254 号地址上组态一个输入双字。 如果一定需要如此选址,则必须相应地调整过程映像的大小(在CPU的Properties中)。   

5:在S7 CPU中如何进行全局数据的基本通讯?在通讯时需要注意什么?   
全局数据通讯用于交换小容量数据,全局数据(GD)可以是:   
输入和输出   
标记   
数据块中的数据   
定时器和计数器功能   
数据交换是指在连入单向或双向GD环的CPU之间以数据包的形式交换数据。GD环由GD环编号来标识。   
单向连接:某一CPU可以向多个CPU发送GD数据包。   
双向连接:两个CPU之间的连接:每个CPU都可以发送和接收一个GD数据包。   
必须确保接收端CPU未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB或FC)来交换数据,则必须进行通讯块之间的连接。通过定义一个连接,可以简化通讯块的设计。该定义对所有调用的通讯块都有效且不需要每次都重新定义。   

6:可以将S7-400存储卡用于CPU 318-2DP吗?   
在通常的操作中,只能使用订货号为6ES7951-1K... (Flash EPROM)和6ES7951-1A... (RAM)的“短”> 存储卡。   

7:尽管LED灯亮,为什么CPU 31xC不能从缺省地址124和125读取完整输入?   
对于下列型号的CPU ,请检查 24V 电压是否接入引脚 1。LED由输入电流控制。引脚 1 上的 24V 电压需要做进一步处理。   
313C(6ES7 313-5BE0.-0AB0),313C-2DP (6ES7 313-6CE0.-0AB0),313C-2PTP (6ES7 313-6BE0.-0AB0), 314C-2DP (6ES7 314-6CF0.-0AB0),314C-2PTP (6ES7 314-6BF0.-0AB0)   

8:配置CPU 31x-2 PN/DP的PN接口时,当PROFINET接口偶尔发生通信错误时,该如何处理?   
请确定以太网(PROFINET)中的所有组件(转换)都支持 100 Mbit/s全双工基本操作。避 免中心分配器割裂网络,因为这些设备只能工作于半双工模式。   

9:在硬件配置编辑器中,“时钟”修正因子有什么含义呢?   
在硬件配置中,通过CPU > Properties > Diagnostics/Clock,你可以进入“时钟”> 域内一个修正因子。这个修正因子只影响CPU的硬件时钟。时间中断源自于系统时钟,并且和硬件时钟的设定毫无关系。   

10:如何通过PROFIBUS DP用功能块实现在主、从站之间实现双向数据传送?   
在主站plc可以通过调用SFC14 “DPRD_DAT“和SFC15 “DPWR_DAT“来完成和从站的数据交换,而对于从站来说可以调用FC1 “DP_SEND“ 和FC2 ”DP_RECV“完成数据的交换。   

11:可以从S7 CPU中读出哪些标识数据?   
通过SFC 51“RDSYSST”可读出下列标识数据:   
可以读出订货号和CPU版本号。为此,使用SFC 51和SSL ID 0111并使用下列索引:   
1 = 模块标识   
6 = 基本硬件标识   
7 = 基本固件标识   

12:在含有CPU 317-2PN/DP的S7-300上,如何编程可加载通讯功能块FB14("GET")和FB15("PUT")用于数据交换?   
为了通过一个S7连接在使用CPU 317-2PN/DP的两个S7-300工作站之间进行数据交换,其中该S7连接是使用NetPro组态的, 在S7通信中,必须调用通讯功能块。模块FB14("GET") 用于从远程CPU取出数据,模块FB15("PUT")用于将数据写入远程CPU。 功能块包含在STEP 7 V5.3的标准库中。 <   
CPU 317-2PN/DP的通讯模块FB14("GET")和FB15("PUT")的属性 :   
FB14和FB15是异步通讯功能。 这些模块的运行可能跨越多个OB1循环。 通过输入参数REQ激活FB14或FB15。 DONE、NDR或ERROR表明作业结束。PUT和GET可以同时通过连接进行通信。   
注意:不能将库SIMATIC_NET_CP中的通讯块用于CPU317-2PN/DP。   

13:对于紧凑CPU 313C-2 PtP和CPU 314-2 PtP作业同步处理需要注意什么?   
在用户程序中,不可以同时编程SEND作业和FETCH作业。   
即: 只要SEND作业(SFB 63)没有*终止(DONE或ERROR),就不能调用FETCH作业(SFB 64)(甚至在REQ=0的时候)。只要FETCH作业(SFB 64)没有*终止(DONE或ERROR),就不能调用SEND作业(SFB 63)(甚至在REQ=0的时候)。在处理一个主动作业(SEND作业、SFB 63或FETCH作业、SFB 64)时,同时可以处理一个被动作业(SERVE作业、SFB 65)。   

14:可以将MICR.master420到440作为组态轴(位置外部检测)和CPU 317T一起运行吗?   
可以,但在动力和精度方面,对组态轴的要求差别非常大。在高要求情况下,伺服驱动SIMODRIVE 611U、MASTERDRIVES MC或SINAMICS S必须和CPU 317T一起运行。在低要求情况下,MICROMASTER系列也能满足动力和精度要求。   

15:如何在已配置为DP从站的两个CPU模块间组态直接数据交换(节点间通信)?   
两个CPU站配置为DP从站,而且由同一个DP主站操作,它们之间的通信通过配置交换模式为DX可以完成直接数据交换。   

16:如何使用SFC65,SFC66,SFC67 和 SFC68 进行通信?   
对于单向基本通信,使用系统功能 SFC67 (X_GET)从一个被动站读取数据,使用系统功能SFC68(X_PUT)将数据写入一个被动站(服务器)。这些块只有在主动站中才调用。对于一个双向基本通信,调用站中的系统功能SFC65 (X_SEND),在该站中想将数据发送到另一个主动站。在同样为主动的主动接收站中,数据将通过系统功能SFC66 (X_RCV)记录。  
两种类型的基本通信中,每次块调用可以处理多 76 字节的用户数据。对于S7-300 CPU,数据传送的数据一致性是 8 个字节,对于S7-400 CPU则是全长。 如果连接到S7-200,必须考虑到S7-200只能用作一个被动站。   

17:什么是自由分配 I/O 地址?   
地址的自由分配意味着您可对每种模块(SM/FM/CP)自由的分配一个地址。地址分配在 STEP 7 里进行。先定义起始地址,该模块的其它地址以它为基准。   
自由分配地址的优点:因为模块之间没有地址间隙,就可以优化地使用可用地址空间。在创建标准软件时,分配地址过程中可以不考虑所涉及的 S7-300 的组态。   

18:诊断缓冲器能够干什么?   
更快地识别故障源,因而提高系统的可用性。评估STOP之前的后事件,并寻找引起STOP的原因。   
诊断缓冲器是一个带有单个诊断条目的循环缓冲器,这些诊断条目显示在事件发生序列中;
条目显示的是近发生的事件。如果缓冲器已满, 早发生的事件就会被新的条目所覆盖。根据不同的CPU,诊断缓冲器的大小或者固定,或者可以通过HW Config中通过参数进行设置。   

19:诊断缓冲器中的条目包括哪些?   
1) 故障事件   
2) 操作模式转变以及其它对用户重要的操作事件   
3) 用户定义的诊断事件(用SFC52 WR_USMSG)   
在操作模式STOP下,在诊断缓冲器中尽量少的存储事件,以便用户能够很容易在缓冲器中找到引起STOP的原因。因此,只有当事件要求用户产生一个响应(如计划系统内存复位,电池需要充电)或必须注册重要信息(如固件更新,站故障)时,才将条目存储在诊断缓冲器中。   

20:如何确定MMC的大小以便完整地存储STEP 7项目?   
为了给项目选择合适的MMC,需要了解整个项目的大小以及要加载块的大小。可以按照如下所述的方法来确定项目的大小:   
1) 首先归档STEP 7项目。然后在Windows资源浏览器中打开已归档项目,并确定其大小(选中该项目并右击)。这会告诉您归档文件的大小。   
2) 将块加载入CPU。现在仍然需要选择"PLC > Module Information > Memory"。在此,在" Load memory RAM + EPROM"中,可以看到分配的加载内存的大小。   
3) 必须将该值和已经确定的归档项目的大小相加。这样就可以得出在一个MMC上保存整个项目所需的总内存的大小。   

21:CPU全面复位后哪些设置会保留下来?   
复位CPU时,内存没有被*删除。整个主内存被*删除了,但加载内存中数据,以及保存在Flash-EPROM存储卡(MC)或微存储卡(MMC)上的数据,则会全部保留下来。除了加载内存以外,计时器(CPU 312 IFM除外)和诊断缓冲也被保留。具有MPI接口或一个组合MPI/DP接口的CPU只在全部复位之前保留接口所采用的当前地址和波特率。另一方面,另一个PROFIBUS地址也被*删除,不能再访问。   
重要事项:重新设置PG/PC之后,与CPU之间的通讯只能通过MPI或MPI/DP接口来建立。   

22:为什么不能通过MPI在线访问CPU?   
如果在CPU上已经更改了MPI参数,请检查硬件配置。可以将这些值与在"Set PG/PC interface"下的参数进行比较,看是否有不一致。   
或者可以这样做:打开一个新的项目,创建一个新的硬件组态。在CPU的MPI接口的属性中为地址和传送速度设置各自的值。将"空"项目写入存储卡中。把该存储卡插入到CPU 然后重新打开CPU的电压,将位于存储卡上的设置传送到CPU。现在已经传送了MPI接口的当前设置,并且像这样的话,只要接口*就可以建立连接。 这个方法适用于所有具有存储卡接口的S7-CPU。   

23:错误OB的用途是什么?   
如果发生一个所描述的错误(见文件1),则将调用并处理相应OB。如果没有加载该OB,则CPU进入STOP(例外:OB70、72、7 3和81)   
S7-CPU可以识别两类错误:   
1) 同步错误: 这些错误在处理特定操作的过程中被触发,并且可以归因于用户程序的特定部分。   
2) 异步错误: 这些错误不能直接归因于运行中的程序。这些错误包括优先级类的错误,自动化系统中的错误(故障模块)或者冗余的错误。   


24:在DP从站或CPU315-2DP型主站里应该编程哪些“故障 OBs”?   
在组态一个作为从站的CPU315-2DP站时,必须在STEP7程序中编程下列OB以便评估分布式I/O类型的错误信息:   
OB 82 诊断中断 OB 、OB 86 子机架故障 OB 、OB 122 I/O 访问出错   
1) 诊断OB82:如果一个支持诊断,并且已经对其释放了诊断中断的模块识别出一个错误,它既对进入事件也对外出的事件向 CPU 发出一个诊断中断的请求。操作系统然后调用 OB82。在 OB82 自己的局部变量里包含有有缺陷模块的逻辑基地址和 4 个字节的诊断数据。如果你还没有编程 OB82, 则 CPU 进入“停止”模式。你可以阻断或延迟诊断中断 OB ,并通过 SFC 39 - 42 重新释放它。   
2) 子机架*B86:如果识别出一个 DP 主站系统或一个分布式 I/O 站有故障(既对进入事件也对外出的事件),该 CPU 的操作系统就调用 OB 86 。如果没有编程 OB 86 但出现了这样一个错误, CPU 就进入“停止”模式。你可以阻断或延迟 OB86 并通过 SFC 39 - 42 重新释放它。   
3) I/O 访问出错OB122:当访问一个模块的数据时出错,该CPU的操作系统就调用OB 122。比方说,CPU在存取一个单个模块的数据时识别出一个读错误,那么操作系统就调用OB 122。该OB 122以与中断块有相同的优先级类别运行。如果没有编程OB 122,那么CPU由“运行”模式改为“停止”模式。   

25:为什么在某些情况下,保留区会被重写?   
在STEP 7的硬件组态中,可以把几个操作数区定义为“保留区”。这样可以在掉电以后,即使没有备份电池的话,仍能保持这些区域中的内容。如果定义一个块为 “保留块”,而它在 CPU 中不存在或只是临时安装过,那么这些区域的部分内容会被重写。在电源接通/断开之后,其他内容会在相关区里找到。   

26:为何不能把闪存卡的内容加载入S7 300 CPU?   
你的项目在闪存卡上。现在要用它加载 S7 300 。但加载结束后发现 CPU 的 RAM 中仍是空的。 出现此问题的原因是你的程序里有无法处理的,"错误的"组织块(比如说, OB86 没有 DP 接口)。 在重新设置和重新启动 CPU 后, RAM 仍是空的。 诊断缓冲区对这个"无法加载"的块会提示一些信息。   

27:当把 CPU315-2DP 作为从站,把 CPU315-2DP 作为主站时的诊断地址   
在组态一个 CPU315-2DP 站时,你使用 S7 工具 “H/W CONFIG” 来分配诊断地址。如果发生一个故障,这些诊断地址被加入诊断 OB 的变量 “OB82_MDL_ADDR” 里。 你可在 OB82 里分析此变量,确定有故障的站并作出相应的反应。   
下面是如何分配诊断地址的例子:   
第 1 步: 通过 CPU315-2DP 组态从站并赋予一个诊断地址,比如 422。   
第 2 步: 通过 CPU315-2DP 组态主站   
第 3 步: 把组态好的从站链接到主站并赋予一个诊断地址,比如 1022。   

28:需要为S7-300 CPU的DP从站接口作何种设置,才可以使用它来进行路由选择?   
如果使用CPU作为I-Slave,并且该CPU也起S7 路由器的作用,那么请注意如下事项:   
用于路由选择的从站的DP接口必须设置为活动状态。这可以在HW Config中完成:在DP接口的属性对话框中,选项" Commissioning/Test operation"或"Programming, status/modify..."必须激活。关于这些设置的注意事项可以在下表中获得。   
对于S7 路由连接,有 4 种可用的连接资源-与其它任何连接资源无关。没有使用PG/OP的连接资源或S7基本通信。   
如果必须通过DP接口来建立一个与位于其机架上的通信伙伴连接时(如在 CP 343-1 中),也要使用一个路由连接。而对于通过MPI接口与一个位于其机架上的通信伙伴的连接,则不使用路由连接资源,因为在这种情况下,能够直接到达伙伴。注意事项:这不适用于CPU 318。   

29:为什么当使用S7-300 CPU的内部运行时间表时,没有任何返回值?   
当对CPU 312IFM到316-2DP参数化系统功能块 SFC2, SFC3 和 SFC4 时,为一个运行时间表规定了一个大于 "B#16#0"的标识符,那么将出错并且所需的功能也无法用。 此种情况下,将在块的" RETVAL"输出处输出标识符 "8080h" 。   
说明:对于这些 CPU,只有一个计时器可用。因此你应该只用标识符 "B#16#0"。 在一个周期块(OB1, OB35)里一定不能调用系统功能 SFC2 "SET_RTM",而是应该在重启动OB(OB100)调用它。你也可以通过外部触发器来启动该块。不然的话,该块将老是复位运行计时表,永远完成不了计数。   

30:变量是如何储存在临时局部数据中的?   
L 堆栈永远以地址“0”开始。 在 L 堆栈中,会为每个数据块保留相同个数的字节,作为存放每个块所拥有的静态或局部数据。   
当某个块终止时,那么它的空间随之也被重新释放出来。 指针总是指向当前打开块的字节。   

31:在CPU经过*复位后是否运行时间计数器也被复位?   
使用S7-300时,带硬件时钟(内置的 “实时时钟”)和带软件时钟的 CPU 之间有区别。对于那些无后备电池的软件时钟的 CPU,运行时间计数器在 CPU 被*复位后其后值被删除。而对于那些有后备电池的硬件时钟的 CPU,运行时间计数器的后值在 CPU 被*复位后被保留下来。同样, CPU 318 和所有的 S7-400 CPU 的运行时间计数器在 CPU 被*复位后其后值被保留。   

32:如何把不在同一个项目里的一个S7 CPU组态为我的S7 DP主站模块的DP从站?   
缺省情况下, 在STEP 7里只可以把一个S7 CPU组态为从站,如果说该站是在同一个项目中的话。该站然后在“PROFIBUS-DP > 已经组态的站”下的硬件目录里作为“CPU 31x-2 DP”出现。用这种途径,可以设置起 DP 主站与 DP 从站间的链接。   
还存在一个选项,可把一个与主站不在同一个项目里的S7 CPU组态为从站。进行如下:   
按常规组态DP从站。   
从网上下载要用作从站的S7-300 CPU的GSD文件。该文件位于客户支持的“PROFIBUS GSD 文件 / SIMATIC”下。   
打开SIMATIC Manager 和硬件配置。   
打开“选项 ; 安装新的 GSD...”,把刚下载的 GSD 文件插入硬件目录 。 (注意:此过程中在 HW Config 中无须打开任何窗口)   
通过“选项; 更新目录”来更新硬件目录。 <   
现在可以组态你的 DP 主站。将可以在 “PROFIBUS-DP > 更多现场设备 > SPS” 下发现作为从站的该 S7-300 CPU 。   
注意:如果是手动来结合该 DP 从站, 要确保总线参数,该 DP 从站的 PROFIBUS 地址 和它的 I/O 组态在两个项目里必须相同。   
33:无备用电池情况下断电的影响与*复位一样吗?   
不一样。在CPU被*复位的情况下,其硬件配置信息被删除(MPI地址除外),程序被删除, 剩磁存储器也被清零。  
在无备用电池和存储卡的情况下关电,硬件配置信息(除了MPI地址) 和程序被删除。然而,剩磁存储器不受影响。如果在此情况下重新加载程序,则其工作时采用剩磁存储器的旧值。比方说,这些值通常来自前 8 个计数器。如果不把这一点考虑在内,会导致危险的系统状态。   
建议:无备用电池和存储卡的情况下断电后,总是要做一下*复位。   

34:以将 2 线制传感器连接到紧凑型CPU的模拟输入端吗?   
可以将 2 线制和 4 线制的传感器连接到CPU 300C的模拟输入端。使用一个 2 线制传感器时,在硬件组态中将“I = 电流”设置为测量类型,与 4 线制传感器的设置一样。   
注意事项:请注意紧凑型CPU仅支持有源传感器( 4 线制传感器)。如果使用无源传感器( 2 制传感器),必须使用外部电源。   
警告:请注意所允许的大输入电流。2 线制传感器在出现短路时可能会超出大允许电流。技术数据中规定的大允许电流是50mA(破坏极限)。对于这种情况(例如,对 2 线制传感器加电流限制或与传感器串联一个PTC热敏电阻),确保提供足够保护

  本文详细阐述了PC与plc互连通信的一般方法,并以永宏公司的FATEK-FBS  PLC为对象,以实际四层电梯模型监控系统为例,介绍了利用大家都熟悉的编程语言Visual Basic 和Step7,实现PLC与上位计算机实时通信的通信过程。

1  通信方式

    面对众多生产厂家的各种类型PLC,它们各有优缺点,能够满足用户的各种需求,但在形态、组成、功    能、编程等方面各不相同,没有一个统一的标准,各厂家制订的通信协议也千差万别。目前,人们主要采用以下三种方式实现PLC与PC的互联通信:

(1)  通过使用PLC开发商提供的系统协议和网络适配器,来实现PLC与PC机的互联通信。但是由于其通信协议是不公开的,因此互联通信必须使用PLC开发商提供的上位机组态软件,并采用支持相应协议的外设。可以说这种方式是PLC开发商为自己的产品量身定作的,因此难以满足不同用户的需求。

(2)  使用目前通用的上位机组态软件,如组态王、InTouch、WinCC、力控等,来实现PLC与PC机的互连通信。组态软件以其功能强大、界面友好、开发简洁等优点目前在PC监控领域已经得到了广泛的应用,但是一般价格比较昂贵。组态软件本身并不具备直接访问PLC寄存器或其它智能仪表的能力,必须借助I/O驱动程序来实现。也就是说,I/O驱动程序是组态软件与PLC或其它智能仪表等设备交互信息的桥梁,负责从设备采集实时数据并将操作命令下达给设备,它的可靠性将直接影响组态软件的性能。但是在大多数情况下,I/O驱动程序是与设备相关的,即针对某种PLC的驱动程序不能驱动其它种类的PLC,因此组态软件的灵活性也受到了一定的限制。

(3)  利用PLC厂商所提供的标准通信端口和由用户自定义的自由口通信方式来实现PLC与PC机的互连通信。这种方式由用户定义通信协议,不需要增加投资,灵活性好,特别适合于小规模的控制系统。

通过上述分析不难得出,掌握如何利用PLC厂商提供的标准通信端口和自由口通信方式以及大家所熟悉的编程语言来实现PC与PLC之间的实时通信是非常必要的。

2  FATEK-FBS  PLC通信方式及原理

    FATEK-FBS  PLC内部集成的PPI接口为用户提供了强大的通信功能,可在多种模式下工作:PPI、Profibus-DP、自由口方式等。其中自由口通信方式*具有特色,通信协议可完全由梯形图程序控制,通过它可以实现PLC与任何具有通信能力的设备进行互连,因而在本系统中选用自由口通信方式。

    目前PLC与PC机的链接通信有两种方式,一种是PC机始终处于主导地位,数据的传送都由PC机定时发出命令,另外一种是PLC始终具有优先权。在本电梯模型监控系统中所有的控制信号均为开关量信号,考虑到上位PC机仅实时显示电梯的运行状态,不需向PLC发送控制指令,采用第二种通信方式。利用PLC循环扫描的特点,设备状态一旦改变,PLC立即检测到,并将反映系统状态变化的数据存入指定的数据缓冲区,通过XMT发送指令,将数据通过COM口发至上位机。每个系统的状态对应于数据缓冲区中的一个指定字节,所存储数据均为16进制数据,为保证通信过程的可靠性,上位机对所接受到的数据进行首尾字符校验,如果校验成功,则说明接收到的首末字节之间的数据是正确的,从而进行处理,否则,放弃这批数据,要求对方重发。

3  应用实例与程序设计

(1)  系统构成

    FATEK-FBS  PLC内部集成的PPI接口物理特性为RS485,而上位机的标准串口为RS232,为了实现两者的通信必须进行协议转换,永宏公司提供的PC/PPI电缆带有RS232/RS485电平转换器,因此再不增加任何硬件的情况下,可以方便的实现二者的互联和协议转换。

作为控制器的FATEK-FBS  PLC利用电梯模型自带的电源线实现与四层电梯模型的互连,该电梯模型为教学试验装置,具备一般电梯的基本功能。硬件连接如图1所示。


图1  硬件连接示意图

(2)  PLC部分编程

①  自由端口的初始化

    在自由口通信模式下,通过设置特殊存储器SMB30(端口0),来为自由端口通信选择波特率、奇偶校验和数据位。这些设定必须与PC机设定值相一致。其格式如下:

SMB30  

pp为奇偶校验选择,d为数据位选择,bbb为波特率选择。

  00为无校验,0为每个字符8位,000为38 400

baud,001为19 200baud;

  01为偶校验,1为每个字符7位,010为9 600 baud,011为4 800baud;

  10为无校验,100为2 400baud,101为1 200baud;

  11为奇校验,110为600baud,111为300baud;

mm为协议选择:00为PPI协议,01为自由口协议,10为PPI/主站模式,11默认为PPI/从站模式。

②  FATEK-FBS PLC实时向上位PC机传送数据


图2  下位机程序流程图

    在对电梯模型控制中,所有的控制信号均为开关量,基于这一特点,系统状态的改变即为这些开关量信号状态的改变,因此可通过跟踪这些开关量信号的上升沿信号、下降沿信号的到来,做为系统状态改变的依据。据此在本系统中,通过对同一个开关量信号的上升沿、下降沿分别定义不同的16进制数的方式,来代表信号的产生与结束,当检测到这些信号产生时,便将这些数据存入指定的数据缓冲区中的字节中,并通过COM口发至上位PC机,同时产生发送完成中断,PLC延迟等待接收来自上位机的应答信号,通过分析存储在接收字符缓冲器SMB2中的数据,判断是否需要重新发送。下位机程序如图2所示。

(3)  上位机部分编程

    基于VB处理监控界面图形、数据报表及通信的方便快捷,本课题上位机的编程环境采用VB来实现。VB不仅提供了MSCOMM串行通信控件,而且也为这个控件提供了标准的事件处理函数,并通过设置它的一些属性对通信接口进行初始化,从而很容易的实现了串行通信的问题。

下面介绍一下有关此控件的属性:

    Commport,设置通信连接端口。程序必须指定要使用的串行端口的号码,WINOOWs使用所设置的通信端口与外界进行通信。

    Settings,设置初始化参数。其格式为“BBBB,P,D,S”,其中BBBB为连接速度,P为奇偶校验方式,D为数据位数,S为停止位数。默认值是“9 600,n,8,1”。

    PortOpen,设置通信连接端口的状态。使用串行端口之前必须先将要使用的串行端口打开。

    Input,返回并删除接收缓冲区中的数据流。

    InputLen,设置从串行端口读入的字符串长度。

    Rthreshold,设置引发接收事件的字符数。

    InputMode,设置接收数据数据形式。

    OnComm事件,用来处理所有与通信相关的事件。使用事件程序的好处是不需要一直让程序处于检测的状态下,只要事先将程序代码写好,一有事件发生,就会直接执行相对应的程序代码。可见这种事件驱动的方式也为实现实时通信提供了必要的条件。上位机程序如图3所示。PC机根据接收到的信息很容易的实现对每个开关量的状态进行识别,从而控制监控界面的实时显示。

图3  上位机程序流程图

4  结语

    以上是基于FATEK-FBS PLC自由口通信方式实现与上位机PC实时通信的一个简单应用。经验证,该方法简单、实时性好,可靠性高,对于逻辑控制系统,是能够实现对被控对象实时监控简单易行的方法


相关产品
相关西门子模块产品
产品分类
最新发布
企业新闻
站内搜索
 
联系方式
  • 地址:上海市松江区广富林路4855弄88号3楼
  • 电话:15221406036
  • 手机:15221406036
  • 联系人:聂航