企业资质

厦门莫格电气自动化有限公司

普通会员8
|
企业等级:普通会员
经营模式:
所在地区:福建 厦门
联系卖家:
手机号码:
公司官网:
企业地址:
企业概况

厦门莫格电气自动化有限公司是一家专业提供工业自动化领域的备件服务商,产品品种齐全、价格合理,公司实力雄厚,重信用、守合同、保证产品质量,以多品种经营特色和薄利多销的原则,赢得了广大客户的信任。我们主营PLC可编程控制器模块,DCS卡件,ESD系统卡件,振动监测系统卡件,汽轮机控制系统模块,燃气发电机......

DSQC 138

产品编号:177856806                    更新时间:2018-10-26
价格: ¥999.00
厦门莫格电气自动化有限公司

厦门莫格电气自动化有限公司

  • 主营业务:PLC可编程控制器模块,DCS卡件,ESD系统卡件,振动监测...
  • 公司官网:
  • 公司地址:

联系人名片:

联系时务必告知是在"产品网"看到的

产品详情

ABB全新YB161102-CM DSQC 138

 

***提供PLC可编程控制系统,分散控制系统(DCS)安全仪表系统(SIS),ESD系统,振动监测系统,汽轮机控制 压缩机组控制系统(CCS)等各类工控系统部件
    系统里的  PLC模块,DCS模块,CPU模块,IO模块,DO模块,AI模块,DI模块,网络通信模块,
以太网模块,运动控制模块,模拟量输入模块,模拟量输出模块,数字输入模块,数字输出模块,
冗余模块,电源模块,继电器输出模块,继电器输入模块,处理器模块。
----分散控制系统(DCS) ABB:AC800M系列模块,工业机器人备件DSQC系列、Bailey INFI 90,800xA、Advant OCS with Master Software
----可编程序控制器(PLC)罗克韦尔AB): SLC500:      1747/1746系列    MicroLogix:  1761/1763/1762/1766/1764系列         
CompactLogix:1769/1768系列Logix5000:   1756/1789/1794/1760/1788系列  PLC-5:       1771/1785 系列
IC693/IC695/IC697/IC698/IC200/IC660/IC670等CPU模块,通讯模块,模拟量数字量模块。EX2100,EX2000励磁系统卡件IS200系列,DS200系列。
----数据采集及监视控制系统(SCADA)VIBRO-METER(韦博):振动传感器,加速传感器,涡流传感器,监测系统模块网关通讯模块。
----安全仪表系统(SIS)本特利bently 3500/25  3500/92  3500/33  3500/42M
----MOTOROLA MVME 工业用模组 Motorola(摩托罗拉):VME 162、MVME 167、MVME1772、MVME177等系列。XYCOM:I/O 、VME板和处理器等。
----压缩机组控制系统(CCS)等各类工控系统部件
 

随着电子信息技术飞速发展,嵌入式系统构成的各种设备得到了广泛的应用,嵌入式Linux是一种开放源码、软实时、多任务的操作系统,是开发嵌入式产品的***操作系统平台,其中键盘是人机界面中人类监控计算机重要数据输入设备。实现键盘有两种方法:一种是采用现有的一些芯片实现键盘扫描;二是用软件实现键盘扫描。目前许多芯片可用来实现键盘扫描,但是键盘扫描的软件实现方法有助于缩减系统的重复开发成本,而只需很少的CPU开销。嵌入式控制器的功能很强。可以充分利用这一资源。本课题提出的键盘方案是以嵌入式Linux和PXA255为软硬件平台,通过测试,表明其具有良好的稳定性和实时性。

2 矩阵式键盘的结构与工作原理
本课题采用矩阵键盘,如图1所示。四根行线四根列线组成4x4矩阵键盘,分别用CPU的4个GPIO口。当有键按下,某个列GPIO口电平被下拉从而产生下降沿,触发中断。其中按键行阵列必须提供上拉信号,列阵列加二极管,防止瞬间电流过大对GPIO口造成冲击。



3 Linux键盘驱动简介
在Linux中,键盘驱动被划分成两层来实现。上层是一个通用键盘抽象层,下层则是硬件处理层,主要对硬件进行直接的操作。键盘驱动程序上层公共部分在 driver/keyboard.c里。文件中***重要的是内核用EXPORT_SYMBOL这个宏导出的handle_scancode函数。在这个文件中还定义了其它的几个回调函数,它们由键盘驱动程序中上层公共部分调用,并且由底层硬件处理函数实现。键盘驱动程序的底层硬件处理部分则根据不同硬件有不同实现。
4 键盘驱动程序的实现
4.1 宏定义module init和module exit
通过宏定义module init和module exit可以看出,驱动程序的入口从kd_ctrl_init()开始。当内核模块加载的时候,默认调用module_ jnit(kd_ctrl_init),在kd_ctrl_init()中将完成一些初始化工作,主要如下:
(1)把GPIO口的起始虚拟地址映射到GPIO_BASE_PHY(0x1000b000),数据长度为0x400:
GPIO_BASE=(int)ioremap(GPIO_BASE_PHY,0x400);
(2)利用request_irq函数将外设的中断服务例程挂载到外部中断处理程序中。本系统中利用request_irq函数分别为4个列GPIO口申请中断资源,分别占用了中断号1、2、3、4。其中i是中断号;kd_ctrl_irq是UCB1400的中断处理程序,kd_ctrl代表键盘设备名,MAGIC_DEVID是申请时告诉系统设备标志,用于共享中断线。返回值为0表示申请成功。
(3)通过函数misc_register注册一个键盘设备,并分配主设备号和从设备号,初始化一个环形队列以及定义一个键盘控制的数据结构。其中包括键值、键的状态和长按标志。应用程序对设备驱动的调用实际是对相应设备文件进行操作,利用mknod命令将此节点与对应设备建立联系。
(4)通过init_waitqueue_head(&sats.read_wait)初始化读信号量。
4.2 打开键盘设备
应用程序打开设备文件时,会调用驱动中的OPEN函数,此函数会对键盘所用到的行列GPIO口进行配置。打开的设备在内核中通过file 结构进行标识,内核使用fileopreation,通过上面的结构中设备文件操作结构的映射,来调用驱动中的kd_ctrl_open。接下来要做的是:
(1)通过sema_init(&kdc->irq_wait,0)初始化在后面用来唤醒后台线程的信号量。
(2)调用初始化函数init_pxa_kdc()来初始化GPIO口,具体是把“行”的GPIO口设为输出模式并设定值为O,把“列”GPIO口设为中断模式,下降沿有效。如下所示:
re t = se t_kdc_gp i o( KDC_ROW _PINS , 1 , PI NS_MODE _OUT , 0) ;
ret = set_kdc_gp i o ( KDC _COL _PI NS , 1 , PI NS _ MODE _FALLI NG_I NTTERUPT , 0);

(3)以严格的串行方式执行任务的效率并不高,如果把它们放在后台调度,不管是对它们的函数还是对终端用户进程都能得到较好的响应。所以初始化GPIO口后,开启一个内核线程kd_ctrl_thread专门用于处理键盘事件,其实也就是向系统申请了软硬件资源。为了确保在该线程创建完成,使用 completion,在Linux内核中,completion是一种简单的同步机制,利用completion机制可以使两个任务同步。我们利
用init_completion(&kdc->init_exit)动态初始化一个线程创建信号量init_exit,以及用 wait_for_completion(&kdc->init_exit)来等待进程创建完成,然后在进程创建结束后通过 complete(&kdc->init_exit)确定事件已经完成即后台线程创建成功,继续执行函数wait_for_comp- letion之后的任务。通过ret=kernel_thread(kd_ctrl_thread,kdc,CLONE_FS|CLONE_FILES) 创建后台线程。
4.3 等待键盘事件
后台线程一旦创建和初始化完成,就会进入一个无条件的for循环,通过 set_task_state(tsk,TASK_INTERRUPTIBLE)将此线程推入可中断睡眠的队列,调用schedule timeout(Hz/100)来实现15毫秒的进程挂起。此时让出CPU,直到中断事件来临或睡眠超过规定时间后再重新执行。线程一旦被唤醒即按照顺序先利用set_kdc_gpio(KDC_COL_PINS,1,PINS_MODE_ENABLEINTERRUPT,0)使所有列GPIO口中断,接着调用down_interruptible(&kdc->irq_wait):该函数的作用是获得信号量irq_wait,把 irq_wait的值减掉1,如果信号量irq_wait的值非负,就直接返回,如果获取失败键盘线程将以TASK_INTERRUPTIBLE状态进入可中断睡眠,直到下次键盘事件利用信号量irq_wait唤醒此线程才能继续运行。因此,驱动程序在没有按键按下时将阻塞自己的执行,不消耗任何的CPU 资源。

 

Siemens S5 FRONTSTECKER 6ES5497-4UA12 NEU/OVP
 
SIEMENS 6ES7 972-0BA80-0XA0 6ES7972-0BA80-0?XA0 E: 1 Pro
 
Siemens S7 CP 412-2 6ES7 412-2XG00-0AB0 E: 05
 
Siemens Sammelschiene 3VU9135-1AB03
 
SIEMENS 5SX9100HS Leitung***hutzs?chalter
 
SIEMENS 3RT1054-1AB36 Schütz & 2x Hilf***halter 3RH1921
 
Siemens SPEICHERMODUL 6ES5375-1LA15
 
Siemens Simatic S5 6ES5 431-8MA11 4318MA11 431 8MA11
 
SIEMENS 3RU1116-0FB1 0,35-0,5A überlastrelais Overload
 
SIEMENS Simatic S7 6ES7422-1BL00-0?AA0 6ES7 422-1BL00-0A
 
SIEMENS 3RU1126-1JB0 überlastrelais 710A
 
SIEMENS Simatic S5 6ES5700-2BD11 6ES5 700-2BD11 E: 1
 
Siemens S5 6ES5420-4UA13 6ES5 420-4UA13
 
Siemens S5 SPEICHERMODUL 6ES5375-0LC21 NEU
 
Siemens S5 6ES5 422-8MA11 6ES5 4228MA11 Digitaleingabe
 
SIEMENS SIRIUS Schütz 3RT1024-1B 3RT10241B. .0 inkl.3
 
SIEMENS 3RV1021-0FA10 0,350,5 A Motorschutzscha?lter 
 
Siemens Terminalmodul 6ES7193-0CD40-0?XA0 NEU #OM-0885
 
SIEMENS Simatic S7 6ES7 400-1JA01-0AA0 6ES7400-1JA01-0?A
 
SIEMENS Hilfsblockschal?ter 3RH1921-1HA13
 
Siemens Simatic S5 454-7LB11 547LB11
 
Siemens 3TK2821-1CB30 Schützsicherhei?tskombination
 
SIEMENS Simatic S7 6ES7 422-1BL00-0AA0 6ES7422-1BL00-0?A
 
Siemens 3RH1122-1APOO 230V 50/60Hz Schütz Motorsc
 
SIEMENS SIRIUS 3RT1024-1B 3RT10241B. .0 Schütz inkl.
 
SIEMENS MOBIC T8 6GK1611-0TA01-0?DX0 Industrie Tablet-PC
 
Siemens S5 SPEICHERMODUL 6ES5376-1AA21
 
SIEMENS Net FC 6XV1 830-OEH10 2x Stecker 6ES7972-0B***
 
Siemens S5 6ES5524-3UA13 6ES5 524-3UA13
 
Siemens RUNDBUCHSE 6ES5760-2CA11 NEU/OVP
 
SIEMENS 5SX21 C6 Leitung***hutzs?chalter #GR-86-5
 
Siemens RUNDSTECKER 6ES5760-2CB11 NEU/OVP
 
SIEMENS Simatic Net RLM 6GK1110-1AA00 Industrial Ethern
 
Siemens Simatic S5 441-7LA11 Digital input 4417LA11
 
Siemens Simatic S5 420-7LA11 Digital input 4207LA11
 
SIEMENS S7 6ES7 972-0BA50-0XA0 6ES7972-0BA50-0?XA0 E: 5 
 
SIEMENS 3RV1021-0KA10 & Hilf***halter Leistung***halt?er
 
SIEMENS SIRIUS 3RT1016-1KB41 Koppelschütz AC-3 4KW/400V
 
6ES5524-3UA13 Siemens S5 6ES5 524-3UA13
 
Siemens S5 SPEICHERMODUL 6ES5377-0AB21
 
Siemens S5 6ES5451-4UA13 6ES5 451-4UA13
 
Simatic S5 CPU090 6ES5 090-8MA01 6ES5090-8MA01 OVP E3
 
Siemens Simatic S5 6ES5 451-7LA12 Digital Output
 
SIEMENS MICROBOX Industrie PC SIMATIC IP***27C 6ES7 647
 
SIEMENS S7 6ES7 972-0B***-0XA0 6ES7972-0B***-0?XA0 E: 5 
 
Siemens Simatic S5 6ES5 430-7LA12 6ES5430-7LA12
 
SIEMENS Microbox PC 420 6AG4040-0AC10-0?AX0 6AG4040 0AC1
 
SIEMENS S7 6ES7 972-0BA12-0XA0 6ES7972-0BA12-0?XA0 E: 3 
 
SIEMENS S7 6ES7131-1BH00-0?XB0 & 193-1CH00-0AX0 E: 1
 
SIEMENS S7 6ES7 131-1BH00-0XB0 & 193-1CH00-0AX0 E: 1
 
SIEMENS S7 Power 10 6EP1 434-2BA00 6EP1434-2BA00 E: 03
 
Siemens AS-I KOMPAKTSTARTER 3RK1322-0FS02-1?AA0 NEU
 
Siemens IM361 6ES7361-3CA01-0?AA0 6ES7 361-3CA01-0AA0 E5
 
Siemens S7-300 IM361 6ES7361-3CA01-0?AA0 E: 05
 
Siemens grüne WEDGE-BASE LED-LAMPE, DC 24 3SB3901-1TB
 
Siemens NOT AUS Taster NOT-AUS 3SB3400-OA Schalter N
 
SIEMENS Microbox IPC PV 427C 6ES7 647-7BD21-0AX0 6ES764
 
Siemens Simatic S5 420-7LA11 Digital input 4207LA11
 
Siemens 6ES7 972-0BB40-0XA0 Profibusstecker
 
Siemens S5 Kommunikati***p?rozessor 6ES5 525-3UA21

厦门莫格电气自动化有限公司电话:传真:联系人:

地址:主营产品:PLC可编程控制器模块,DCS卡件,ESD系统卡件,振动监测...

Copyright © 2025 版权所有: 产品网店铺主体:厦门莫格电气自动化有限公司

免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。产品网对此不承担任何保证责任。