更新时间: 2025-03-11
嵌入式PLC的实时任务模块数据通讯
完成数控系统PLC控制的两个实时任务之间由于需要输入输出的数据量(一般情况下为64输入,64输出,但输入输出根据需要还可以扩展)不太大,因而采用共享内存的通讯方式,在适配卡输入输出和PLC控制
两个实时任务之间开两块共享内存,一块用于适配卡向PLC控制传输I/O口状态信息,另一块用于PLC控制向适配卡输入输出任务传输经PLC逻辑处理后的控制信息。
在这里,两个实时任务间不采用RT-FIFO进行通讯的原因在于这两个实时任务间通讯的数据量不是很大,而这两个实时任务运行周期差别较大,采用RT-FIFO传输数据,为了避免FIFO的阻塞,相应地要增加两个任务间的协调机制,这样的通讯效果未必比采用共享内存好,而且共享内存的读写速度比FIFO相对较快。
嵌入式PLC的实时任务的实现
适配卡输入输出为动态可加载模块,适配卡输入输出模块(任务)以100μs为周期的硬件定时中断,完成各轴位置控制指令和I/O的输出、各轴位置反馈值和I/O的输入,适配卡输出值来自于位置伺服任务和PLC控制任务,输入值来自于适配卡的输入接口。PLC控制模块(任务)同样也是一个动态可加载模块,它以5ms的软定时,周期性地从它与总控模块通讯的RT-FIFO读取控制信息(如M指令,S指令及T指令),同时从它与适配卡输入输出模块通讯的共享内存中读取I/O信息,然后进行逻辑处理,**将结果写入共享内存供适配卡输入输出模块读取并输出。Elinx B & B Electronics/eir410 2sfp T/12-48
Schneider b3624
Allen Bradley SLC 500 Netzteil 1746-p1
Metasys MS-verursacht 4710-0
Metasys MS-verursacht 4710-0
Schneider 490nrp25400
Trane x 1374 0084-01
ABB 560cmu02 SPS/Archiv 1kgt201444r0011
ABB 1mrk002133-abr03/1mrk002311-aar02
Siemens 7pa2231
MGE Alii 51028027xd-1ha
Schneider Electric bmep 584040 m580
Schneider Electric vw3a3202
rs232/rs485
GE DS 200 adgih 1aaa
Clipsal 5350cb
iem3255, a9mem3255
Schneider 56014-vigirex rh99p
Grundfos CU 351/3510 96161620-v05
ABB SNAT 7261 **/SNAT - 7261-**
j120k-15641
E. Dold & Sohne kg d-78120
ABB 1sd a066414
FANUC a05b-2400-c060
47.022.022-00.19-312
Accuray s-061551-003
Eaton a1l4lpk Schutzschalter 1493d42g04
E. Dold & Sohne KSB ba9094
gmox-pr-22dn-c16
Carrier Transicold Division 12-01085-0
Fugro Seastar 4100 LR12 GPS STARFIX 4100LR12
Clipsal l5504rvf20p
GRASSLIN Talis MW 180-12-1