基于RS232序列埠实现的数据与指令传输方法与流程

未命名 09-21 阅读:105 评论:0

基于rs232序列埠实现的数据与指令传输方法
技术领域
1.本发明涉及数据与指令的传输方法,尤其涉及基于rs232序列埠实现的数据与指令的传输方法。


背景技术:

2.于工业环境下,用户端设备(例如工业电脑)与伺服端设备(例如伺服电机(servo))经常会使用rs232序列埠来连接,借此传递数据与控制指令。
3.rs232序列埠的标准数据传输程序,必须经过交握(hand-shaking)。具体地,当发送方发送数据给接收方后,接收方必须回复确认信号给发送方,才算完成一笔数据的传输程序。然而,这样一来一回的交握程序实相当浪费通信时间,造成单位时间中可以传输的数据量下降。也因此,rs232序列埠并不适合被用来执行实时(real-time)的数据传输工作。
4.参阅图1,为相关技术的rs232序列埠传输示意图。如图1所示,当用户端设备1与伺服端设备2通过rs232序列埠3连接并且执行标准传输程序时,若用户端设备1发送控制指令11给伺服端设备2,伺服端设备2就必须在接收后回复确认封包12给用户端设备1。同样地,当伺服端设备2发送数据21给用户端设备1时,用户端设备1也必须在接收后回复确认封包12给伺服端设备2。
5.一般来说,伺服端设备2可被用来连接工厂内的工业设备,以搜集并记录工业设备的实时数据。伺服端设备2将所记录的数据回传给用户端设备1,借此使用者可以通过用户端设备1来对工业设备进行实时监控。于上述使用环境中,伺服端设备2传送的数据21可能很大(例如每一笔数据为1~64kb),若需经过上述标准传输程序,必然无法在有限的时间(例如1000ms)内传输完毕。如此一来,将无法达到使用者对于实时监控的需求。
6.有鉴于此,如何修改rs232序列埠的传输程序,以提高传输数据量,即可为领域技术人员潜心研究的课题。


技术实现要素:

7.本发明提供一种基于rs232序列埠实现的数据与指令传输方法,可以令使用rs232序列埠的用户端设备在最短的时间内收到最大的数据量。
8.于本发明的一个实施例中,所述传输方法应用于通过一rs232序列端连接的一用户端设备及一伺服端设备,并且包括下列步骤:
9.a)于该伺服端设备传送数据至该用户端设备时,控制该用户端设备的一第一计数器及该伺服端设备的一第二计数器的计数进行同步累加;
10.b)于该第一计数器及该第二计数器的计数到达一触发门限值之前重复执行该步骤a);
11.c)于该第一计数器及该第二计数器的计数到达该触发门限值时,该伺服端设备于一等待时间内停止传送数据至该用户端设备,并且该伺服端设备暂存该等待时间内欲传送的数据;
12.d)该用户端设备于该等待时间内发送一控制指令至该伺服端设备;及
13.e)于该等待时间过后清除该第一计数器及该第二计数器,并且该伺服端设备恢复传送数据至该用户端设备。
14.于本发明的另一个实施例中,所述传输方法应用于通过一rs232序列埠连接一伺服端设备的一用户端设备,并且包括下列步骤:
15.a)于接收该伺服端设备传送的数据时,控制一第一计数器进行累加,其中该第一计数器与该伺服端设备中的一第二计数器同步;
16.b)于欲传送一控制指令至该伺服端设备时,将该控制指令存储于一指令伫列;
17.c)于该第一计数器的计数到达一触发门限值之前重复执行该步骤a)及该步骤b);
18.d)于该第一计数器的计数到达该触发门限值时,将该指令伫列中的该控制指令发送至该伺服端设备;及
19.e)该步骤d)后清除该第一计数器,并且再次执行该步骤a)至该步骤d)。
20.于本发明的另一个实施例中,所述传输方法应用于通过一rs232序列埠连接一用户端设备的一伺服端设备,并且包括下列步骤:
21.a)于发送数据至该用户端设备时,控制一第二计数器进行累加,其中该第二计数器与该用户端设备中的一第一计数器同步;
22.b)于该第二计数器的计数到达一触发门限值之前重复执行该步骤a);
23.c)于该第二计数器的计数到达该触发门限值时,停止发送数据至该用户端设备并维持一等待时间,并且暂存该等待时间内欲发送的数据;及
24.d)于该等待时间过后清除该该第二计数器,并且恢复发送数据至该用户端设备。
25.相对于相关技术,本发明可以在使用rs232序列埠且不进行数据交握的情况下,令用户端设备在最短的时间内收到最大的数据量。并且,当用户端设备发送控制指令给伺服端设备时,不会与伺服端设备传输的数据发生碰撞。
附图说明
26.图1为相关技术的rs232序列埠传输示意图。
27.图2为本发明的第一具体实施例的rs232序列埠传输示意图。
28.图3为本发明的第二具体实施例的rs232序列埠传输示意图。
29.图4为本发明的传输流程图的第一具体实施例。
30.图5为本发明的传输流程图的第二具体实施例。
31.图6为本发明的传输流程图的第三具体实施例。
32.图7为本发明的传输流程图的第四具体实施例。
33.附图标记说明:
[0034]1…
用户端设备
[0035]
11

控制指令
[0036]
12

确认封包
[0037]2…
伺服端设备
[0038]
21

数据
[0039]
22

确认封包
[0040]3…
rs232序列埠
[0041]4…
用户端设备
[0042]
40

控制指令
[0043]
41

第一计数器
[0044]
42

指令伫列
[0045]5…
伺服端设备
[0046]
50

数据
[0047]
51

第二计数器
[0048]
52

暂存器
[0049]6…
rs232序列埠
[0050]
a1

触发门限值
[0051]
t1

等待时间
[0052]
s10~s24、s30~s44、s50~s62、s70~s86

传输步骤
具体实施方式
[0053]
兹就本发明的一优选实施例,配合附图,详细说明如后。
[0054]
本发明公开了一种数据与指令传输方法(下面将于说明书中简称为传输方法),所述传输方法主要应用在通过rs232序列埠来进行数据、控制指令的传输的两个或两个以上的电子装置。
[0055]
参阅图2,为本发明的第一具体实施例的rs232序列埠传输示意图。如图2所示,本发明的传输方法应用于通过rs232序列埠6连接的用户端设备4及伺服端设备5,使得用户端设备4与伺服端设备5在进行数据、控制指令的传输时可以不需要经过交握程序,借此获得单位时间内的最大数据传输量。
[0056]
具体地,用户端设备4可例如为个人电脑、工业电脑或云端伺服器等可以支援rs232序列埠6的电子装置,但不加以限定。当用户端设备4执行了特定的应用程序或软件后,可通过rs232序列埠6与伺服端设备5进行沟通,并且实时接收伺服端设备5发送的数据50。
[0057]
伺服端设备5可例如为伺服器或伺服电机(servo),尤其是交流伺服电机(ac servo),但不加以限定。伺服端设备5可连接环境中的各式工业设备(图未标示),并且基于用户端设备4(尤其是用户端设备4上执行的应用程序或软件)的请求,通过rs232序列埠6将工业设备的数据50实时发送至用户端设备4。借此,可达到使用者通过用户端设备4来实时监控工业设备的主要目的。
[0058]
于图2的实施例中,用户端设备4(主要指所述应用程序或软件)经过修改,而不会在接收伺服端设备5发送的数据50后回复对应的确认封包。相对地,伺服端设备5亦经过修改,不需要接收任何的确认封包,即可继续发送下一笔数据50至用户端设备4。借此,可以有效缩短数据50的传输时间,提高单位时间内的传输数据量,进而达到使用者通过rs232序列埠6来进行实时监控的需求。
[0059]
值得一提的是,因为不需要等待确认封包,所以伺服端设备5会持续地发送数据50至用户端设备4,使得用户端设备4将无法预测伺服端设备5何时停止发送数据50(即,rs232
序列埠6何时会处于闲置状态)。因此,当用户端设备4要发送控制指令40给伺服端设备5以对伺服端设备5进行控制时,只能不经任何判断程序并直接经由rs232序列埠6来发送给伺服端设备5。于此情况下,用户端设备4发送的控制指令40与伺服端设备5发送的数据50有可能发生碰撞,导致伺服端设备5无法正确接收控制指令40。
[0060]
当用户端设备4接收伺服端设备5发送的下一笔数据50,并且经由数据50的内容发现伺服端设备5的状态没有基于控制指令40的内容对应改变时,会判断伺服端设备5没有正确接收控制指令40。于此情况下,用户端设备4只能再次发送相同的控制指令40给伺服端设备5。
[0061]
举例来说,用户端设备4可以发送一笔控制伺服端设备5停止运算的控制指令40。若用户端设备4发送了控制指令40后,仍持续收到经过运算的数据50,即可判断伺服端设备5没有接收控制指令40。
[0062]
有鉴于上述问题,本发明根据图2的实施例更进一步提出另一种实施方式。
[0063]
请参阅图3,为本发明的第二具体实施例的rs232序列埠传输示意图。图3的实施例与图2的实施例的主要差异在于,用户端设备4中具有第一计数器41,伺服端设备5中具有第二计数器51,并且第一计数器41与第二计数器51同步。
[0064]
具体地,在开始进行数据50或控制指令40的传输前,用户端设备4与伺服端设备5可以分别将第一计数器41与第二计数器51设定为0(例如执行重置程序),以令第一计数器41与第二计数器51实现同步。并且,于第一计数器41与第二计数器51实现同步后,再通过rs232序列埠6开始进行数据50的传输。
[0065]
本发明中,当伺服端设备5发送数据50至用户端设备4时,第一计数器41与第二计数器51会同步累加。当第一计数器41与第二计数器51的计数满足预设条件时(例如,数据50的发送笔数达到触发门限值a1),伺服端设备5会暂时停止发送数据50给用户端设备4。
[0066]
于本发明的传输方法中,伺服端设备5会在第二计数器51的计数满足预设条件时暂停发送数据50,并且持续一个等待时间t1的长度。此时,用户端设备4因为第一计数器41的计数满足预设条件而得知伺服端设备5已经进入等待时间t1,并且会在等待时间t1中将欲发送给伺服端设备5的控制指令40发送给伺服端设备5。
[0067]
当等待时间t1经过后,用户端设备4清除第一计数器41,并且伺服端设备5清除第二计数器51。并且,用户端设备4停止发送控制指令40,并且伺服端设备5恢复发送数据50至用户端设备4。当伺服端设备5恢复发送数据50时,第一计数器41及第二计数器51随着数据50的发送重新开始进行累加。
[0068]
本发明的传输方法可以确保用户端设备4仅在伺服端设备5停止发送数据50时将控制指令40发送给伺服端设备5,借此可有效避免用户端设备4发送的控制指令40与伺服端设备5发送的数据50发生碰撞,导致伺服端设备5无法正确接收控制指令40的问题。并且,由于伺服端设备5仅于所述等待时间t1中暂停发送数据50,但是不需要与用户端设备4进行标准的交握程序。因此,仍然可以在单位时间内提供最大的数据传输量,以符合使用者对于实时监控的需求。
[0069]
续请同时参阅图3及图4,其中图4为本发明的传输流程图的第一具体实施例,并且图4中的各步骤适用于图3所示的传输架构。本发明中,用户端设备4与伺服端设备5可以通过rs232序列埠6进行连接,并且执行图4所示的各个具体步骤,以实现数据实时传输的主要
目的。
[0070]
如图4所示,于用户端设备4开始向伺服端设备5请求数据后(例如用户端设备4执行了监控软件或应用程序),伺服端设备5即基于用户端设备4的请求,开始传送数据50至用户端设备4(步骤s10)。并且,用户端设备4中的第一计数器41与伺服端设备5中的第二计数器51会同步进行累加(步骤s12)。
[0071]
于一实施例中,伺服端设备5于传送一笔数据50给用户端设备4时,控制第二计数器51进行累加(例如加一)。并且,用户端设备4于接收到伺服端设备5发送的一笔数据50时,控制第一计数器41进行累加(例如加一)。具体地,第一计数器41与第二计数器51累加的值相同,但累加的时间点不一定相同。
[0072]
接着,由用户端设备4、伺服端设备5、或是与用户端设备4或伺服端设备5连接的其他电子装置(图未标示)判断第一计数器41及第二计数器51的计数是否到达预设的触发门限值a1(步骤s14)。
[0073]
于一实施例中,伺服端设备5于传送一笔数据50给用户端设备4时,控制第二计数器51加一。相对地,用户端设备4于接收到伺服端设备5发送的一笔数据50时,控制第一计数器41加一。于本实施例中,所述触发门限值a1为伺服端设备5在指定时间内可以发送完成的数据量,例如为五笔数据至十笔数据不等,但不以此为限。
[0074]
于另一实施例中,第二计数器51可于伺服端设备5开始发送数据50后开始累计时间,而第一计数器41可于用户端设备4开始接收数据50后开始累计时间。上述步骤s14是判断所述累计时间是否到达预设的触发门限值a1。本实施例中,所述触发门限值a1可例如为伺服端设备5足够发送充足的数据量的时间长度,例如为3000ms,但不加以限定。
[0075]
为便于理解,下面将以伺服端设备5每发送一笔数据50就控制第一计数器41与第二计数器51分别加一的实施例,进行说明,但并不以此为限。
[0076]
若于步骤s14中判断第一计数器41及第二计数器51的计数尚未到达触发门限值a1,则返回步骤s10,以由伺服端设备5继续发送数据50给用户端设备4,并且第一计数器41与第二计数器51持续进行累加。值得一提的是,在步骤s10与步骤s12的执行过程中,用户端设备4不被允许发送任何控制指令40给伺服端设备5。
[0077]
具体地,如图3所示,用户端设备4可具有指令伫列(command queue)42。在第一计数器41及第二计数器51的计数尚未到达触发门限值a1,且伺服端设备5持续发送数据50给用户端设备4时,用户端设备4会将欲发送给伺服端设备5的控制指令40先存储于指令伫列42中。
[0078]
若于步骤s14中判断第一计数器41及第二计数器51的计数到达触发门限值a1,伺服端设备5会暂时停止传送数据50至用户端设备4,并且持续一段等待时间t1(步骤s16)。
[0079]
本发明中,第一计数器41的计数与第二计数器51的计数是同步的,当伺服端设备5基于第二计数器51的计数内容而暂停发送数据50时,用户端设备4可依据第一计数器41的计数内容来判断伺服端设备5暂时不会传送数据50。
[0080]
本发明中,伺服端设备5先暂存于等待时间t1内欲传送的数据50(例如,暂存于如图3所示的暂存器52中)。于此同时,用户端设备4经由rs232序列埠6将要发送至伺服端设备5的控制指令40发送给伺服端设备5(步骤s18)。于一实施例中,用户端设备4于步骤s18中主要是将暂存于指令伫列42中的一或多笔控制指令40发送给至伺服端设备5。
[0081]
更具体地,伺服端设备5于等待时间t1中暂存要发送给用户端设备4的数据50,而用户端设备4于等待时间t1中发送控制指令40给伺服端设备5。通过等待时间t1的设置,用户端设备4发送的控制指令40与伺服端设备5发送的数据50不会发生碰撞,因此可确保伺服端设备5能够正确地接收控制指令40。
[0082]
接着,由用户端设备4、伺服端设备5或是其他电子设备判断等待时间t1是否经过(步骤s20)。于等待时间t1经过前,用户端设备4与伺服端设备5重复执行步骤s16及步骤s18,以令伺服端设备5持续暂存数据50,并令用户端设备4持续发送控制指令40。
[0083]
一般而言,控制指令40的大小会远小于数据50的大小。一笔数据50的大小可例如为1~64kb,而一笔控制指令40的大小可例如为30~50byte。本发明中,等待时间t1的长度仅需令用户端设备4可以传送一笔完整的控制指令40即可。于一实施例中,所述等待时间t1可例如为100ms,但并不以此为限。
[0084]
若于步骤s20中判断等待时间t1已经过,用户端设备4与伺服端设备5分别清除第一计数器41及第二计数器51(步骤s22)。并且,在等待时间t1经过后,用户端设备4、伺服端设备5或是其他电子设备判断当前的数据传输模式(即,不进行交握程序的传输模式)是否结束(步骤s24)。若当前的数据传输模式尚未结束,则返回步骤s10,以令伺服端设备5恢复传送数据50至用户端设备4,并且令第一计数器41及第二计数器51重新累加。
[0085]
于第一实施例中,用户端设备4与伺服端设备5分别计算等待时间t1,并且于等待时间t1经过后,分别清除第一计数器41及第二计数器51。于第二实施例中,用户端设备4于控制指令40发送完毕后清除第一计数器41,并且伺服端设备5于接收到用户端设备4发出的控制指令40后清除第二计数器51。
[0086]
如上所述,伺服端设备5于等待时间t1中会暂存本来要发送的数据50,因此在等待时间t1经过后,伺服端设备5所发送的第一笔数据50的数据量将会大于其他时间点所发送的数据50的数据量。于第三实施例中,伺服端设备5于等待时间t1中接收到用户端设备4发出的控制指令40后,确定与用户端设备4间的通信正常,因此可清除第二计数器51。并且,用户端设备4在等待时间t1经过后接收到数据量明显变大的数据50后,确定与伺服端设备5间的通信正常,因此可清除第一计数器41。
[0087]
而,上述仅为本发明的部分具体实施范例,但并不以此为限。
[0088]
如上所述,在等待时间t1经过,且当前的数据传输模式尚未结束时,伺服端设备5恢复传送数据50至用户端设备4。由于伺服端设备5在等待时间t1内会将本来要发送给用户端设备4的数据50暂存于暂存器52中,因此在离开等待时间t1后,伺服端设备5会先传送暂存器52中的数据50至用户端设备4,并且第一计数器41及第二计数器51会进行同步累加。于暂存器52中的数据50发送完毕后,伺服端设备5才会进一步发送实时数据50至用户端设备4,并且令第一计数器41与第二计数器51同步累加。
[0089]
续请同时参阅图3、图4及图5,其中图5为本发明的传输流程图的第二具体实施例,并且图5中的各步骤适用于图3所示的传输架构。图5是以用户端设备4的角度,对图4的流程图做更进一步的说明。
[0090]
如图5所示,在通过rs232序列埠6建立与伺服端设备5间的连接后,用户端设备4即可通过rs232序列埠6持续接收伺服端设备5发送的数据50(步骤s30)。并且,于接收到所述数据50时,用户端设备4控制其内的第一计数器41进行累加(步骤s32)。具体地,第一计数器
41的计数与伺服端设备5中的第二计数器51的计数同步。
[0091]
于一实施例中,用户端设备4每接收一笔数据50即控制第一计数器41加一,但不以此为限。
[0092]
在第一计数器41的计数尚未到达预设的触发门限值(例如图3所示的触发门限值a1)前,用户端设备4持续判断是否需要传送控制指令40给伺服端设备5(步骤s34)。若需要传送控制指令40至伺服端设备5,则用户端设备4先将要传送的一或多笔控制指令40按序存储于用户端设备4中的指令伫列42(步骤s36)。换句话说,在第一计数器41的计数尚未到达触发门限值a1之前,用户端设备4不会发送任何控制指令40给伺服端设备5。
[0093]
承上,在与伺服端设备5连接的期间,用户端设备4持续判断第一计数器41的计数是否到达触发门限值a1(步骤s38)。并且,用户端设备4在第一计数器41的计数尚未到达触发门限值a1前重复执行步骤s30至步骤s36,以持续接收伺服端设备5发送的数据50、持续累加第一计数器41,并且持续暂存控制指令40。
[0094]
在第一计数器41的计数到达触发门限值a1后,用户端设备4直接认定伺服端设备5将会暂时停止发送数据50,而rs232序列埠6会暂时进入空闲状态。因此,用户端设备4可通过rs232序列埠6,将指令伫列42中存储的一或多笔控制指令40按序发送至伺服端设备5(步骤s40)。于步骤s40后,用户端设备清除第一计数器41(步骤s42)。
[0095]
于第一实施例中,用户端设备4是在指令伫列42中的所有控制指令40皆发送完毕后清除第一计数器41。于第二实施例中,用户端设备4是在计时所述等待时间t1经过后清除第一计数器41。于第三实施例中,用户端设备4是在第一计数器41的计数到达触发门限值a1后直接清除第一计数器41。于第四实施例中,用户端设备4是在再次收到伺服端设备5发送的数据50,且判断数据50的数据量大于其他时间点所接收的数据50的数据量时清除第一计数器41。
[0096]
而,上述为本发明的部分具体实施范例,但并不以上述者为限。
[0097]
步骤s42后,用户端设备4可判断本发明的传输方法是否结束(步骤s44),并且于传输方法尚未结束前重复执行上述步骤s30至步骤s42。
[0098]
于一实施例中,用户端设备4是在接受外部控制(例如由使用者触发)以进入一特定模式(例如示波器模式)时,启用本发明的传输方法,并且于离开所述特定模式时结束本发明的传输方法(容后详述)。于此实施例中,只有在所述特定模式下,用户端设备4才会基于图5的流程图中的各步骤(即,步骤s30至步骤s44)来进行运作。
[0099]
续请同时参阅图3、图4及图6,其中图6为本发明的传输流程图的第三具体实施例,并且图6中的各步骤适用于图3所示的传输架构。图6是以伺服端设备5的角度,对图4的流程图做更进一步的说明。
[0100]
如图6所示,在通过rs232序列埠6与用户端设备4建立连接后,伺服端设备5即可通过rs232序列埠6持续发送数据50至用户端设备4(步骤s50)。具体地,使用者可操作用户端设备4来对伺服端设备5下达命令,以令伺服端设备5对外获取使用者所需的数据50并且实时回传至用户端设备4。借此,可以达到令使用者通过用户端设备4来进行实时监控的目的。
[0101]
于发送数据50时,伺服端设备5控制其内的第二计数器51进行累加(步骤s52)。具体地,第二计数器51的计数与用户端设备4中的第一计数器41的计数同步。
[0102]
于一实施例中,伺服端设备5每发送一笔数据50就控制第二计数器51加一,但不以
此为限。
[0103]
伺服端设备5持续判断第二计数器51的计数是否到达触发门限值a1(步骤s54)。在第二计数器51的计数尚未到达触发门限值a1前,伺服端设备5重复执行步骤s50及步骤s52,以持续搜集并发送数据50至用户端设备4,并控制第二计数器51持续累计。
[0104]
于第二计数器51的计数到达触发门限值a1后,伺服端设备5停止发送数据50至用户端设备4,并且维持一段预设的等待时间(例如图3所示的等待时间t1)(步骤s56)。于等待时间t1中,伺服端设备5不将数据50直接发送至用户端设备4,而是先将数据50暂存于内部的暂存器52。并且,于等待时间t1中,伺服端设备5可接收用户端设备4发送过来的一或多笔控制指令40。
[0105]
于等待期间,伺服端设备5持续判断等待时间t1是否经过(步骤s58)。
[0106]
于等待时间t1经过前,伺服端设备5重复执行步骤s58,以持续进行等待、暂存原本要发送至用户端设备4的数据50,并且接收用户端设备4所发送的控制指令40。于等待时间t1经过后,伺服器设备5清除第二计数器51(步骤s60)。
[0107]
于第一实施例中,伺服端设备5是在等待时间t1经过后清除第二计数器51。于第二实施例中,伺服端设备5是在第二计数器51的计数到达触发门限值a1后直接清除第二计数器51。而,上述仅为本发明的部分具体实施范例,但并不以此为限。
[0108]
步骤s60后,伺服端设备5可判断本发明的传输方法是否结束(步骤s62),并且于传输方法尚未结束前,重复执行上述步骤s50至步骤s60,以恢复发送数据50至用户端设备4,并且控制第二计数器51继续进行累计。
[0109]
值得一提的是,于伺服端设备5恢复发送数据50至用户端设备4时,伺服器设备5会先发送在步骤s56中暂存至暂存器52中的数据50至用户端设备4,并且令第二计数器51进行累加后,才会接着执行步骤s50,以发送下一笔实时的数据50至用户端设备4。
[0110]
如前文所述,用户端设备4与伺服端设备5可以是在进入特定模式后,才会启用本发明的传输方法来进行数据50与控制指令40的传输。换句话说,当用户端设备4与伺服端设备5进入其他模式时,会改为使用其他的传输方法来进行其他数据的传输。
[0111]
参阅图3及图7,其中图7为本发明的传输流程图的第四具体实施例,并且图7中的各步骤适用于图3所示的传输架构。如图7所示,首先,用户端设备4与伺服端设备5通过rs232序列埠6进行连接(步骤s70)。并且,用户端设备4与伺服端设备5通过rs232序列埠6执行标准传输程序(步骤s72)。
[0112]
于一实施例中,所述标准传输程序指的是需要进行交握程序的传输方式。具体地,所述标准传输程序包括:(1)由伺服端设备5传送数据50给用户端设备4,以及(2)由用户端设备4在接收数据50后,传送数据50的确认封包给伺服端设备5。
[0113]
于执行标准传输程序的期间,用户端设备4、伺服端设备5或其他电子装置持续判断用户端设备4是否受使用者的操控,并且进入示波器模式(步骤s74)。于一实施例中,所述示波器模式指的是由伺服端设备5持续发送实时数据50至用户端设备4,并由用户端设备4基于所接收的数据50绘制波形并且实时显示的实时数据监控模式。
[0114]
示波器模式为本领域的通常技术,于此不再赘述。
[0115]
本发明的其中一个技术特征在于,在用户端设备4没有进入示波器模式前,用户端设备4与伺服端设备5重复执行步骤s72,以持续通过标准传输程序来进行数据、控制指令的
传输。当用户端设备4进入示波器模式后,用户端设备4与伺服端设备5结束标准传输程序,并且启用本发明的传输方法(即,执行如图4、图5及图6所示的各步骤)。
[0116]
本发明中,用户端设备4可以在进入示波器模式后,动态地于其中建立第一计数器41(步骤s76),并且伺服端设备5可以在进入示波器模式后,动态地于其中建立第二计数器51(步骤s78)。借此,于示波器模式的执行期间,用户端设备4与伺服端设备5可以通过第一计数器41及第二计数器51来进行同步计数,借此执行本发明的传输方法(步骤s80)。
[0117]
用户端设备4、伺服端设备5或其他电子装置持续判断用户端设备4是否接受使用者的操作,并离开示波器模式(步骤s82)。于离开示波器模式前,用户端设备4与伺服端设备5重复执行步骤s80,以持续执行本发明的传输方法。
[0118]
若于步骤s82中判断用户端设备4离开了示波器模式,则由于标准传输程序不需要进行计数,因此用户端设备4及伺服端设备5可以选择性地取消第一计数器41与第二计数器51(步骤s84)。
[0119]
接着,用户端设备4、伺服端设备5或其他电子装置判断用户端设备4与伺服端设备5间的数据传输程序是否中断(步骤s86)。于一实施例中,用户端设备4与伺服端设备5间的数据传输程序于rs232序列埠6被卸除时中断,但并不以此为限。
[0120]
于用户端设备4与伺服端设备5间的数据传输程序中断前,用户端设备4与伺服端设备5结束本发明的传输方法,并且返回步骤s72,以重新执行标准传输程序。借此,可以节省用户端设备4及伺服端设备5的有限资源。
[0121]
通过本发明的传输方法,即使是使用rs232序列埠来进行连接,仍令用户端设备在最短的时间内收到最大的数据量,并且不会令用户端设备发送的控制指令与伺服端设备发送的数据发生碰撞。
[0122]
以上所述仅为本发明的优选具体实例,非因此即局限本发明的权利要求,故举凡运用本发明内容所为的等效变化,均同理皆包含于本发明的范围内,合予陈明。

技术特征:
1.一种基于rs232序列埠实现的数据与指令传输方法,应用于通过一rs232序列埠连接的一用户端设备及一伺服端设备,该传输方法包括:a)于该伺服端设备传送数据至该用户端设备时,控制该用户端设备的一第一计数器及该伺服端设备的一第二计数器的计数进行同步累加;b)于该第一计数器及该第二计数器的计数到达一触发门限值之前重复执行该步骤a);c)于该第一计数器及该第二计数器的计数到达该触发门限值时,该伺服端设备于一等待时间内停止传送数据至该用户端设备,并且该伺服端设备暂存该等待时间内欲传送的数据;d)该用户端设备于该等待时间内发送一控制指令至该伺服端设备;及e)于该等待时间过后清除该第一计数器及该第二计数器,并且该伺服端设备恢复传送数据至该用户端设备。2.如权利要求1所述的传输方法,其中该步骤a)是于该伺服端设备传送一笔数据至该用户端设备时控制该第二计数器加一,并且于该用户端设备接收该笔数据时控制该第一计数器加一。3.如权利要求1所述的传输方法,其中该步骤e)是由该伺服端设备先传送于该步骤c)中暂存的数据至该用户端设备并控制该第一计数器及该第二计数器同步累加后,再次执行该步骤a)至该步骤e)。4.如权利要求1所述的传输方法,其中该步骤a)之前还包括:a01)该伺服端设备与该用户端设备通过该rs232序列埠进行一标准传输程序,其中该标准传输程序包括由该伺服端设备传送一数据给该用户端设备,以及由该用户端设备传送该数据的一确认封包给该伺服端设备;a02)于该用户端设备进入一示波器模式时,控制该伺服端设备与该用户端设备通过该rs232序列埠结束该标准传输程序并执行该步骤a)至该步骤e)。5.如权利要求4所述的传输方法,其中包括一步骤a03):于该用户端设备进入该示波器模式时,于该用户端设备中建立该第一计数器,并且于该伺服端设备中建立该第二计数器。6.如权利要求4所述的传输方法,其中包括一步骤f):于该用户端设备离开该示波器模式时,取消该第一计数器及该第二计数器,并控制该伺服端设备与该用户端设备恢复该标准传输程序。7.如权利要求1所述的传输方法,其中该用户端设备具有一指令伫列,并且该传输方法包括:a1)于该第一计数器及该第二计数器的计数到达该触发门限值之前,该用户端设备将欲发送至该伺服端设备的该控制指令存储至该指令伫列;其中,该步骤d)是将该指令伫列中的该控制指令发送至该伺服端设备。8.一种基于rs232序列埠实现数据与指令传输方法,应用于通过一rs232序列埠连接一伺服端设备的一用户端设备,该传输方法包括:a)于接收该伺服端设备传送的数据时,控制一第一计数器进行累加,其中该第一计数器与该伺服端设备中的一第二计数器同步;b)于欲传送一控制指令至该伺服端设备时,将该控制指令存储于一指令伫列;c)于该第一计数器的计数到达一触发门限值之前重复执行该步骤a)及该步骤b);
d)于该第一计数器的计数到达该触发门限值时,将该指令伫列中的该控制指令发送至该伺服端设备;及e)该步骤d)后清除该第一计数器,并且再次执行该步骤a)至该步骤d)。9.如权利要求8所述的传输方法,其中还包括:f)于进入一示波器模式时建立该第一计数器,并且执行该步骤a)至该步骤e);及g)于离开该示波器模式时取消该第一计数器,其中该用户端设备离开该示波器模式后通过该rs232序列埠与该用户端设备执行一标准传输程序,该标准传输程序包括由该伺服端设备传送一数据给该用户端设备,以及由该用户端设备传送该数据的一确认封包给该伺服端设备。10.一种基于rs232序列埠实现数据与指令传输方法,应用于通过一rs232序列埠连接一用户端设备的一伺服端设备,该传输方法包括:a)于发送数据至该用户端设备时,控制一第二计数器进行累加,其中该第二计数器与该用户端设备中的一第一计数器同步;b)于该第二计数器的计数到达一触发门限值之前重复执行该步骤a);c)于该第二计数器的计数到达该触发门限值时,停止发送数据至该用户端设备并维持一等待时间,并且暂存该等待时间内欲发送的数据;及d)于该等待时间过后清除该该第二计数器,并且恢复发送数据至该用户端设备。11.如权利要求10所述的传输方法,其中该步骤d)是先发送于该步骤c)中暂存的数据至该用户端设备并控制该第二计数器累加后,再次执行该步骤a)至该步骤c)。

技术总结
一种基于RS232序列埠实现的数据与指令传输方法,应用于通过RS232序列埠连接的用户端设备及伺服器设备,并且包括下列步骤:于伺服端设备传送一笔数据至用户端设备时,控制用户端设备中的第一计数器及伺服端设备中的第二计数器进行累加;于两个计数器的计数到达触发门限值时,控制伺服端设备暂停传送数据并进行等待;于伺服端设备进行等待时,控制用户端设备发送指令至伺服端;于待等时间到达后清除两个计数器,并且控制伺服端设备恢复传送数据至用户端设备。用户端设备。用户端设备。


技术研发人员:张永良
受保护的技术使用者:台达电子工业股份有限公司
技术研发日:2022.03.10
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐