C/C++中宏定义的经典运用

在C语言中宏定义是比较有用的技巧,在Linux源码中经常使用一些宏定义,比如宏container_of()等都是经典的宏定义表示方式。在C++不再主张使用宏定义,但是宏定义实际上却是是一个非常有用的手段。实质上宏定义能够搞定的实现采用其它的实现也是可以的,宏定义的作用是简单的替代作用,掌握这个是理解的关键,以前在没有代码阅读量的时候总是以为宏定义就是简单的定义一些常量什么的,实质上不然,宏定义完全可以写成函数的形式,但是宏定义和函数有一定的差别,函数的调用一般采用栈的方式实现,这时候存在局部变量,形参、实参等问题,如果不理解C语言的本质,很多时候非常容易搞错,但是宏定义则不然,宏定义没有调用的过程,宏的实现仅仅是一个替换过程,不用压栈出栈,宏实现的类似函数修改的就是当前区域中的变量,不是局部变量。这也是一些较深层次的问题,在刚学习C语言的时候很多人只要看见类似于函数的形式都认为是函数,实质上不一定,很有可能就是采用宏定义实现的类函数,这时候就可能导致所谓的形参实参问题发生较大的变化。关于宏的问题在面试笔试的过程中、写代码的过程中都是非常有用的部分,我就不再做介绍。 今天看了一遍博客《Reduce C-language coding errors with X macros》,感觉文章写得非常的好,也对自己写代码有了一定的帮助,所以就将该文章用我自己的语言,写出来和大家分享分享吧。 本文引用地址:http://www.eepw.com.cn/article/201612/324488.htm 在嵌入式实时操作系统中,经常将系统分成很多层次,很多个模块,每一个模块都有自己的初始化过程,这时候我们一般采用的形式如下所示: typedef void(*p_func_t)(void); enum { STATE_0, STATE_1, STATE_2, … STATE_M, NUM_STATES }; p_func_t inital_table[NUM_STATES] { func_0, func_1, func_2, … func_M, }; 这种实现方法是比较常见的实现方式,但是这种方法的缺点是所有的初始化过程是按照一定的顺序的,而且不能随机的初始化,因此如果在编码的过程中将状态号与初始化函数对应错误,将出现比较难以发现的错误,这种错误经常出现,当然有些编译器以及支持随机的初始化过程,但是并不具有通用性,而且这种实现方式代码比较多,能不能采用宏定义的方式简化代码量呢?当然是可以的,采用类似于函数的宏定义就可以实现,具体的实现如下: typedef void(*p_func_t)(void); #define STATE_TABLE ENTRY(STATE_0,func_0) ENTRY(STATE_1,func_1) ENTRY(STATE_2,func_2) ENTRY(STATE_3,func_3) ENTRY(STATE_4,func_4) enum{ #define ENTRY(a,b) a, STATE_TABLE #undef ENTRY NUM_STATES }; p_func_t inital_table[NUM_STATES] = { #define ENTRY(a,b) b, STATE_TABLE #undef ENTRY }; 上面这种实现方式的优点是运用了宏定义简少代码量。我做一个简要的分析,首先采用宏定义定义了一组ENYRT,其中包含两个参数,分别是状态号STATE_N,和状态对应的初始化函数,这种实现方式能够避免上面所谓的状态号与函数对应错误的问题,因为在宏定义的过程中一般都会认真的确定各种接口,对应好了只需要定义相关的函数就可以啦。在enum中采用了#define和#undef来限定这一组宏定义的作用范围,在个作用域中,ENTRY(a,b)是表示“a,”,需要注意不能忽略a后的,因为这就是在enum中定义变量后要添加的符号,我想大家应该知道enum{a,b,c,d}每一个成员后面都包含”,”的特性的。也就是说在这作用域中,ENTRY(a,b)被替换为”a,”,那么这时候STATE_TABLE就被替换为STATE_0,STATE_1等,然后和NUM_STATES就组成了第一个例程中的enum结构。而在p_func_t jumptable[NUM_STATES]仍然采用了了STATE_TABLE,由于采用了#define和#undef限定了宏的作用范围,这时的ENTRY(a,b)将被替代为“b,”,也就是func_0,func_1等,这样也就完成了函数指针数组的初始化过程,这样的初始化能够减少状态号与初始化函数对应出错的情况。 这样的实现也可以认为是宏定义的巧妙运用,但是这种方法还是存在一些问题,因为采用#define 和#undef这种方法很可能导致错误的产生,因为很有可能不能很好的把握这个限定作用域的使用方法,这时候可以采用一种新的类似函数的实现方法,可以让STATE_TABLE带一个参数,也就是采用类似命令的形式定义相关的内容: typedef void(*p_func_t)(void); /*以下产生几个常用的命令*/ /*enum产生*/ #define EXPAND_AS_ENUM(a,b) a, /*初始化表产生*/ #define EXPAND_AS_INITTABLE(a,b) b, /*声明各个函数*/ #define EXPAND_AS_FUNCDEC(a,b) void b(void); /*将STATE_TABLE的参数就是具体的命令*/ #define STATE_TABLE(ENTRY) ENTRY(STATE_0,func_0) ENTRY(STATE_1,func_1) ENTRY(STATE_2,func_2) ENTRY(STATE_3,func_3) ENTRY(STATE_4,func_4) /*定义enum*/ enum{ STATE_TABLE(EXPAND_AS_ENUM) NUM_STATES }; /*声明各个函数*/ STATE_TABLE(EXPAND_AS_FUNCDEC) /*初始化表*/ p_func_t inital_table[NUM_STATES] = { STATE_TABLE(EXPAND_AS_INITTABLE) }; 以上实现方法能够较好的避免#define和#undef的限定作用域问题,这实际上采用ENTRY作为参数传递给STATE_TABLE,然后ENTRY可用来实现不同的指令,这些指令的定义也是一系列的宏定义,这种实现架构能够比较好的避免缺少声明等问题。同时也较少了错误的产生可能。 上一页1 2 下一页

自动驾驶、无线传输,汽车电子发展的终极是什么?

自动驾驶汽车、内嵌安全功能、平板显示器(FPD)链路、发动机启停系统以及更多设计想法在不远的将来都将被汽车所采用,这些功能将进一步增强人们的驾驶和娱乐体验,并超越亨利福特当初最狂热的梦想。 不久前,我遇到两位睿智和富有远见的TI公司汽车部门员工,与他们就快速增长的汽车电子领域的未来进行了讨论。全球汽车通信部门的Sonya Terry把我介绍给了汽车解决方案营销经理Fern Yoon,我们之间进行了极富信息量和创造性的会谈。FPD链路是我们就近期发展讨论的中心话题。 为什么是FPD链路? 这种链路可以实现整个车辆内的高速视频、音频和数据传输,如图1所示。 图1:FPD链路在新的汽车电子架构中有着极好的前景。 显示接口和摄像机接口的电源和数据都能从采用FPD链路技术的一对双绞线上受益匪浅,见图2。 图2:利用FPD链路技术很容易实现显示接口和摄像机接口。 FPD链路的演进 FPD技术已经从FPD-Link I经过FPD-Link II发展到现在的FPD-Link III,见图3。 图3:FPD-Link技术的演进。 FPD-Link I最早带来的是“由多变少”;也就是说使用8根线实现3根或4根数据线+1个时钟。电缆长度大约为3米,并能通过较早/传统的布线系统改善EMI性能。 FPD-Link II带来了“多合一”;现在它支持2根信号线加上控制线,速度可达1.8Gbps。电缆长度延长到10米,而重量更轻。这种电缆没有地电流,符合AEC-Q100和ISO 10605等标准。 我们目前用的是最新的FPD-Link III,可以“在一根线上实现更多功能”;只需两根线就能支持高达3Gbps的速度,而且内嵌控制信道。高带宽数字内容保护(HDCP)是一个可选功能,自适应量化则进一步增强了高速数据能力,它通过改善“眼图”补偿电缆类型、长度、老化和环境条件,并增加了电力传送的附加好处。同样,这种技术满足AEC-Q100和ISO 10605等标准。 因此FPD-Link III可以在一对双绞线或一根同轴电缆上实现视频双向控制(采用I2C控制器接口)和电力传送功能。FPD-Link III支持多种接口选项,如RGB、YUV、OpenLDI(FPD-Link)、MIPI CSI-2和HDMI。 图4:存在多种系统接口选项时,FPD-Link III解决方案可以全部搞定。 显示接口 FPD-Link III有一个采用TI DS90UH/B927/928的720p显示解决方案,如图5所示。 图5:FPD-Link II可以提供很低的EMI和类似平板电脑的体验。 图6:FPD-Link III可以在控制仪表盘上提供接近于平板电脑的汽车显示效果。 百万像素的摄像机 还有一种针对百万像素辅助驾驶摄像机应用开发的FPD-Link III SERDES芯片组,见图7和图8所示。 图7:通过使用SERDES芯片组,无需笨重的电缆就能将驾驶辅助摄像机布放到很多区域,从而大大减少所需的铜线数量。 采用什么样的传输协议?信息将通过各种标准传送给CPU,见图8。 图8:在图中所示的高级驾驶辅助系统(ADAS)中,双向控制电缆使用SERDES设计DS90UB914A-Q1确实可以简化电缆传输。 Fern Yoon告诉我们,我们应该留意IEEE在下一代以太网方面的工作,下一步可能就是简化汽车电缆协议。 自动驾驶汽车是发展的终极产品。 带摄像机输入和其它输入的传感器融合盒2。 随后的讨论使我们坚信,未来汽车中将只有一个传感器融合盒中心用于检测和控制。 图9:自动驾驶汽车的检测和控制系统中数据流程的功能性介绍。(图片来自参考文献2) 电机和扭矩传感器1 Fern Yoon还和我们讨论了向汽车机械部分(如电动机和扭矩传感器)最终发送命令的重要性。 图10:在未来的自动驾驶汽车中,传感器处理将在整个汽车外设中发生,以便将信号和命令发送给汽车的机械部件(图片来自参考文献2)。 无线是数据传输中的终极步骤 我们讨论了无线将成为汽车电子演进中的终极步骤这个事实——没有线总比有些线要好。无线应用最终将消除电缆,降低汽车的重量和成本。低能耗蓝牙(BLE)已经在这个方向上迈出了重要的一步。 电动汽车上的48V电路板 我们最后的讨论集中于电动汽车的电力能源、LiFeP04电池(一般串联16节电池,总的标称电压为51.2V,平衡电压为3.6V),以及在未来的电池管理电路板上更好地平衡大容量电池中的大电流。TI公司的电池管理小组(其中许多设计师来自于新罕布什尔州曼彻斯特市的1999 Unitrode and Benchmarq收购团队)当然在电池保护和平衡创新方面拥有丰富的经验和业绩记录。我认为这个团队在不远的将来将提供更多新的和令人兴奋的解决方案。

CC-Link现场总线如何在纺丝机变频调速系统实现?

结构如图所示。控制系统采用三菱公司的FX2N系列的PLC对设各进行逻辑控制,实现控制部分的高速采样数据处理。它通过FX2N-16CCL和变频器进行数据交换。为实现对生产的监控和管理的需要,系统配备了人机界面(607970),该设各一方面监视生产的运行情况,包括设备的运行情况、故障报警和报警历史记录;另一方面它可以对系统内的参数进行适当的修改和优化。纺丝机的传动系统由去酸辊电机、升降轴电机、泵辊电机组成,它们分别由三台变频器来驱动,均采用三菱公司的FA500系列的变频器,其具有良好的静态特性和动态特性,具有强大的网络通信功能,它们通过CC-Link网络与PLC进行数据交换。通过CC-Link网络可以实现PLC对各变频器的控制,包括变频器的启动、停止和速率给定。 本文引用地址:http://www.eepw.com.cn/article/201808/385087.htm 如果将FX2N换成QPLC+QJ61BT11程序就更加容易。

工业网络IO-Link是什么玩意儿

随着人们对工业互联网的热情越来越大,工程师们正在寻找工业网络和通信协议,如IO-Link,以帮助从工厂车间解锁传感器数据。通过这样做,他们希望实现数据诊断,并为机器设备找出潜在的问题。在这里,记者与制造专家Erick%20%20Rudaitis进行了会谈,内容主要关于什么是工业网络IO-Link,这将意味着无数的气动元件应用于工厂车间。派克汉尼汾先进制造服务于通用汽车公司和许多其他的公司,是一家智能工厂网络接口产品世界一流的资深企业。 记者:让我们从一个定义开始,你如何定义工业网络? Rudaitis:工业网络是一种协议帮助在以太网工业环境实现对机器的控制。例如:EtherNet/IP、PROFINET、EtherCat、Modbus%20%20TCP、CC-Link%20IE等,这些协议已有15多年,但他们的成本限制他们作用。 记者:当我们谈论气动工业网络时,主要涉及哪些应用? Rudaitis:网络主要用于加工。它们被广泛用于汽车制造的末端工具,夹具,焊接夹具,转盘组件,任何一部分固定或移动要用气,由气动控制。 记者:什么是IO-Link,它适合哪些应用? Rudaitis:IO-Link是一个动态的新开放协议标准,在点对点串口通信获得更大使用。它是2008年由西门子研发并开始投用,在过去的五年获得飞速的发展。它的目标是在于工业4.0智能化生产,它特别适合与执行器和传感器的通信。 PLC和传感器制造商联合在一起组成国际联盟共同推进IO-Link通信。便IO-Link得到了很多公司的支持,如Allen Bradley和西门子。很多大玩家都是这个联盟的一部分。他们看到小型网络正适合驱动IIoT(工业物联网)或智能工厂。 所以IO-Link背后有一个很好的推动。截至去年4月,已经有124家公司已经加入这个联盟,并在工业现场占有350万个节点。所以在很短的时间内,IO-Link真的抓住了机会。 记者:为什么现在是这样的趋势? Rudaitis:现在新的热词是“智能工厂”,用户对工业4.0有一个解释,是在自动化组件中嵌入的智能化。他们把想更多的智能带到工厂,而不只是PLC,还有很多东西。 你可以将配置数据加载到传感器和执行器中,并接收诊断数据。特别的是你不需要使用现场总线DeviceNet,因为你从IO-Link得到的数据,这比从现场总线取到更好的控制和诊断。 记者:气动运动控制的未来将如何变化? Rudaitis:我们仍然有许多客户使用明线连接的阀组,他们通过一个I/O卡连接所有的气动装置。但现在他们可以转移到网络型式,我们认为这是一个巨大的转变。现在,他们开始看到连接气动需要多少额外的时间以及检修有多困难。所以他们看到了工业网络的很多好处。 此外,他们现在有能力把诊断在他们的气阀上。他们现在可以告诉你,如果一个线圈短路、运行发热或是电压正下降等有很多的信息,这些数据信息是他们之前从来没有得到过,但他们现在可以获得了,因为他们有更多的智能在气动阀门上。 记者:工业网络使制造商做到哪些以前不能做的事? Rudaitis:这是因为获得正确的诊断帮助客户快速找出问题。在传统的气动阀门是困难的,但智能化的设备可以做到这一点。 它也允许通过网络改变参数。例如,工业相机可能会抓拍到一个特定距离的产品,但用户需要对不同的产品进行拍照。在过去,你必须改变传感器位置。但现在,传感器可以在空中飞行,只发送一个命令改变参数设置,就可以运行拍取其他产品的图像。因此,它使用智能传感器适用于灵活的制造,可以配置在飞行中的设备,这是非常强大。 记者:工业互联网的主要含义是什么? Rudaitis:从智能设备获得更多的数据,在大多数IO-Link工厂网络架构中,数据将从智能设备流出,通过IO-Link到PLC。因此,制造商必须解决的一个大问题是,他们如何获得主动的诊断数据,并在空闲时间进行维护管理和安排维修以防止停机? 这是一件大事,他们用这些数据做什么?把它放在云上吗?还是放在内部服务器上?现在,他们有很多数据,改变公司从被动模式到主动模式。 记者:它能让工程师的工用更顺利吗? Rudaitis:是的,确实。因为简单的体系结构和布线,使得项目实施比过去容易得多。现在面临的挑战是如何做的诊断,智能设备可以给你的数据,但它由你来决定你想用它做什么。

智能管理:D-Link大型校园网方案

型校园网是指规模很大、建筑众多,甚至有多个校区的校园网,网络覆盖范围通常可达数公里,有时还会超过十公里(存在分校时),可能同时采用多模、单模及远距离千兆光纤设备进行传输。信息点在500个以上的大型重点中学和大学的校园网建设均具有以下需求特点:设有众多的多媒体网络教室,大型的图书馆楼、多个实验楼、教学楼和办公楼,而且学生和教工宿舍也要实现网络覆盖。出于对整个网络的运营管理角度考虑,大型校园网通常采用将三层交换功能的骨干交换机和具有安全功能的宽带接入交换机配套使用,并辅之以网络管理软件对整个网络进行监控和维护。 下面我们以一个典型的环境为例来介绍大型校园网的建设。 ■ 需求描述 某校有东西两个校区,东区有主楼、实验楼、图书馆楼和礼堂各1座,教学楼7座,近500个信息点,西区有教学楼1座,实习工厂厂房1座,学生宿舍3座,教工宿舍5座,近300个信息点;东西区相隔一条马路,最近布线距离超过1公里。出于网络安全和性能考虑,需要将网络划分为多个VLAN,要求既可按不同的班级、单位划分VLAN,也可按用户IP子网划分VLAN。宿舍楼接入校园网需实现各接入用户之间不能互相通信,只能访问校园网资源。借助三层交换机可实现跨VLAN访问。 ■ 解决方案 布线及网络规划 东西区分别建立网络中心和分中心,分别连接各自区域的建筑物;中心与分中心之间采用室外4芯以上单模光纤,以便采用链路聚合技术及备份线路;中心、分中心与建筑物之间布线根据距离采用室外多模或单模光纤;建筑内部布线采用5类双绞线进行垂直和水平布线,如建筑物规模较大,也可部分采用室内多模光纤。   DES-6300具有6个插槽,提供了丰富的接口类型,千兆端口可选择2口1000Base-SX、1000Base-LX以及100/1000Base-T模块,百兆端口包括8口100Base-FX SC接口,12口100Base-FX MT-RJ接口的多模光纤模块及16口10/100Base-TX模块,还有2口GBIC的模块,提供了更高的应用灵活性。   DES-6300交换机是基于真正的分布式交换体系结构设计的,所有接口模块均在本地进行二层交换处理,所有模块均可热插拔,电源模块可实现冗余备份。DES-6300系列还支持VRRP、生成树、端口聚合等标准链路冗余功能特性。   DES-6300交换机提供了基于策略的QoS技术,可在以太网上提供前所未有的服务质量保证。可对通过交换机的数据包的特征(如端口、TOS、IP地址、TCP端口等)对其分类,并根据流量的不同类别采取不同的传输策略。支持802.1P的优先级队列。   DES-6300交换机还提供了IP过滤功能,能够更精确地控制带宽,并确保IP网络免遭网络侵入。   DES-6300交换机支持多种路由协议。如RIP, OSPF, IPX-RIP, Apple Talk Routing。保证了在不同的网络中传递路由信息。   网络交换机之间的连接   DES-6300配置2个带2口1000Base-LX的模块,用以连接分中心DES-6000以及距离较远的大礼堂;3个2口1000Base-SX接口模块MRS-7500-8GS分别连接多台服务器以及其它建筑物;1个16口10/100Base-TX接口模块连接主楼的办公区、教室和网管工作站等。因每个模块都已内置了三层交换功能,所以不需要另配三层交换模块。另外为了实现电源冗余备份,还需另外配置1个电源模块DES-6310。   分中心交换机采用DES-6000,它通过2口单模千兆模块DES-6007与DES-6300之间采用2条1000Base-LX聚合链路形成全双工4Gbps的骨干;通过若干2口多模千兆模块DES-6006连接各建筑物。如果宿舍楼对带宽需求不高,也可通过1个12口100Base-FX百兆光纤模块连接。   教学楼等办公区楼宇接入交换机采用千兆通DES-3624系列可堆叠交换机。接入信息点较少的可采用DES-3225G或DES-3226。依据距离的长短分别采用单模或多模千兆光纤连接DES-6300或DES-6000。   学生和教工宿舍区的楼宇接入交换机采用DHS-3226,DHS-3226是D-Link专为宽带接入设计的交换机,与DES-3226规格基本相同,但增加了端口隔离和接入速率限制等宽带接入所需要的功能。所谓端口隔离是指所有与用户连接的端口只能通过一个上联端口访问主干网络资源,但各用户端口之间不能互相通信,从而达到保护个人用户的私密性目的。DHS-3226和DES-3226均可通过同样的2口千兆光纤或1口、2口百兆光纤上联骨干网。   网管和存储   网管工作站安装D-View网管系统,可以对所有网络设备进行监控和管理。   在网络中心配置若干台DNS-6040网络存储服务器,用于存储课件及电子图书资料。   与教育城域网及Internet的连接   如果出于建立备份链路及提高Internet访问自主权的考虑,可以向当地电信运营商申请租用DDN专线,通过DI-1162实现专线接入。DI-1162具有1个10/100Base-TX以太网口,可以连接校园网骨干,2个广域网接口连接Internet。如有必要,还可安装1个ISDN模块,用于链路备份。   为确保网络安全,防止外部入侵,并控制内部用户的访问行为,可以在路由器和校园网之间安装DFL-2000防火墙。   ■ 方案特点   采用高性能三层交换技术,确保大型校园网具备高性能、高安全性;   具备电信级的容错能力,确保网络的高可靠性;   支持丰富的网络接口类型,包括城域网远程连接;   强化的多媒体及QoS功能支持,可满足大流量的多媒体传输需求;   全中文网管系统,易于管理和维护。 DES-6300还支持链路聚合功能,以方便扩展主干带宽。DES-6300支持基于硬件的组播(Multicast)以及常用的IGMP、GMRP、DVMRP、PIM DM/SM等组播协议,可以有效地部署如VOD等视频应用。可非常适合校园网的应用环境。DES-6300交换机支持丰富灵活的动态VLAN策略,支持基于端口、802.1Q VLAN划分。支持GARP/GVRP。网络中心的核心交换机采用D-Link DES-6300三层交换机,DES-6300属于核心交换机产品,它专为发挥千兆以太网潜在的强大交换能力而设计,32G背板容量使得每个端口具备全带宽交换能力,确保在巨大的网络通信负载下始终能够轻松实现线速的第二层和第三层交换,是城域网、数据中心、智能大厦及大型校园网骨干级核心路由交换机的理想选择。核心交换机

家用网关网络解决方案

无线宽带网络打造移动生活新概念—D-Link无线ADSL小型网络解决方案之一 备选:高效安全,灵活经济—D-Link无线ADSL小型网络解决方案 经历了2001年的跌宕起伏之后,2003年中国宽带接入市场呈现出相当稳定的发展趋势。 以ADSL为代表的宽带业务全面突起,逐渐成为运营商构建宽带数据网络的首选。在激烈的市场竞争中,如何以“用户为中心”,以最经济的接入方式、最灵活的业务模式让用户享有最大价值的宽带服务,成为运营商稳定客户群体,提升客户忠诚度的重要出发点。 通过在ADSL和无线领域的技术与市场的深厚积累,D-Link全面推出“自由宽带”为特点的系列无线ADSL解决方案。在引入全新的无线ADSL接入理念的同时,还全面支持传统的有线接入方式,为用户和运营商提供了更多选择。D-Link致力于同运营商共同打造“自由宽带”的业务品牌。 ADSL+WLAN 终成趋势 由于提供了超出56K Modem近100倍的速度,ADSL逐渐成为了首选的宽带接入方式。同时随着WLAN应用市场初见峥嵘,无线技术开始渗透到网络的各个层面。在宽带市场,无线与宽带结合逐渐成为应用趋势。目前,对于SOHO、家庭上网一族而言是否选用无线ADSL主要存在以下疑虑: 首先,应用成本问题。一般说来SOHO、家庭上网一族投资不会太多,但仍然希望能拥有一个功能完整、高效的宽带网络,因此应用成本成为选择网络接入方式的首要因素。同时,产品的多功能性使得网络应用更加丰富,所以多功能的网络设备更受SOHO/家庭用户的欢迎。 其次,简单安装和维护。在以上的网络环境中,用户常常不一定有专业的网络管理人员,因此他们需要网络厂商为其提供的是一个简单易用的产品和方案,便于管理和维护。 再者,网络安全和稳定的性能。构建网络的出发点就是拥有一个安全的网络,因此,在摆脱错综复杂的布线网络之后,安全成为推进无线网络应用的关键因素之一。 针对以上应用问题,国际著名网络设备和解决方案提供商D-Link推出了DI-714P+无线局域网宽带路由器,并以该产品为核心,为不同的应用环境精心设计了定制化的解决方案。该系列方案最大的特点是实现了无线、有线网络的结合,使用户可以灵活选择网络构建模式,同时也有效地解决了以上问题: 首先,宽带上网,随手可得。由于DI-714P+融合了ADSL宽带和WLAN优势于一体,摆脱了传统了有线网络构架束缚,网上冲浪随处可得。同时独有的22M无线接入,而通过下载D-Link的升级软件,还可以使实际无线传输速率达到802.11b的4倍,更能满足用户的带宽要求。加上与ADSL宽带的配合使用,用户可以充分享受宽带无线网络的时尚品味。 其次,网络构建经济简单,应用更加丰富。该系列方案有效地利用现有电话线资源传送数据和语音信号,大幅度地降低了办公成本。网络支持PC、笔记本、掌上电脑等各种无线接入终端产品,使得网络建设一次到位,节省了网络无线升级的成本。而由于DI-714P+内置DHCP 和NAT功能,进而又降低小型局域网的建网成本。同时,DI-714P+的多功能性使得网络应用更加丰富。DI-714P+由于提供了自适应打印端口,支持打印服务器共享功能,进而节省了办公成本,因此特别适合于SOHO宽带网络用户应用。 最后,安全可靠,确保网络安全。无线产品的安全性能设计与IP路由安全功能的有效结合,使网络更加安全可靠。DI-714P+是一款安全性极高的产品,支持MAC地址、IP地址、URL等多种数据过滤策略,从而使网络应用更加智能;同时产品Network Address Translation (NAT)等网络防攻击、防伪通讯协议,更能保障使用者分享网络资源的安全性及隐私权。DI-714P+的另一项特色是具有类似「封包过滤器」的功能(Basic Parental Control),可以锁住特定的色情或不法网站服务,这项功能对于家庭用户最为适用,有利于家长保护或限制小孩不当使用网络。此外,产品集合了IP路由、防火墙等多种安全功能,用户可通过子网分离和限制广播域等方法来提高广域网的传输性能并加强网络的安全性;而且产品还引入了业内最新的Wi-Fi®保护接入(WPA) 安全标准,新标准结合了数字加密和网络认证功能,将无线网络的安全性推向了更高水平,进一步保证局域网络安全。 以下是D-Link针对SOHO、家庭用户贴身定制的2套“自由宽带”解决方案,其所带来的2种自由的工作、生活方式将为用户带来无处不在的宽带体验。 D-Link特色解决方案 1、SOHO族自由办公无线ADSL接入方案 该方案适合规模较小、移动量较大的中小企业及家庭办公室。在方案中采用了有线、无线相结合的方式,企业可以根据业务和规模的实际情况和发展需要,灵活选择选择不同的接入方式。总体来看,方案选用了DI-714P+无线局域网宽带路由器作为接口,通过电话线与Internet网络相连。该宽带路由器具有ADSL宽带和无线AP功能,并提供四个以太网口,公司可以根据内部终端设备实际情况,选择下接Switch或Hub通过ADSL Modem与Internet连接,或者直接通过DI-714P+以太网口与外网互联互通,而移动PC、笔记本或掌上电脑则无需网线连接,通过配置DWL-660W、DWL-120+或DWL-650+无线网卡,就可以实现网上业务。与此同时,打印机可直接与DI-714P+自适应打印端口连接,实现打印服务器共享功能,进而节省了办公成本,这种方案的主要特点为:规模小,移动性大,网络环境和接入方式随时根据公司业务和规模的扩张而发展;打印服务器共享功能使网络应用更加丰富,而且还节省了相应的办公开支。采用包月制费用方式,并适用于所有ADSL专线用户。 2、针对家庭用户的ADSL接入方案 以上拓扑结构主要针对家庭用户设计的ADSL接入方案,非常适合休闲在家的中、老年网民以及求新求酷的新新人类。考虑到家庭用户的终端设备的使用较少,家具环境不易于铺设太多线路,因此建议同样使用DI-714P+无线局域网宽带路由器作为接入设备,上端通过ADSL Modem与Internet相连,而在下端这样既可以直接连接台式PC,也可适应笔记本的灵活移动办公的特点,同时满足多台终端设备网络业务的需要,而且也减少了布线的繁琐。而打印服务器共享功能,也可以使用户在家中的任何角落实现网络打印,轻松享受自由自在的移动生活。 这种方案的特点为:安装简便,满足非专业用户(个人用户对家庭)多种上网方式的需求;灵活性强,用户在家中随时随地均可实现网上冲浪。包月制和预付卡两种费用方式均可,并适用于所有ADSL专线用户。

CC—Link总线在铣床运动控制中的应用

在现代机械制造业中,用户不仅对机床加工性能提出了更高的要求,而且对自动化生产线上的加工设备提出了集中管理、分散控制的新要求。以普通铣床数控化改造后的运动伺服控制系统为研究对象,实现基于CC—Link现场总线的多台铣床同步控制,充分利用PLC的高可靠性、编程简单、功能强大、体积小、经济合算等优点,提高铣床的加工精度和生产效率,从而体现了CC-Link总线技术在自动化生产线中低成本、高可靠性、可维护性和智能化数据采集的优势。 1 CC-Link简介 CC-Link(Control&Communication Link,控制与通信链路系统)是三菱电机基于“多厂家设备环境、高性能、省配线”理念开发的,以设备层为主,同时也覆盖了位于较高层次的控制层和较低层次的传感器层次,能够同时高速处理控制和信息数据,实现高效、一体化和过程自动化控制的一种开放式现场总线系统。CC-Link现场总线具有高速、高实时性以及完善的RAS(Reliability、Availability、Serviceability)功能和开放的多厂商设备环境,网络拓扑结构多样,可连接各种智能设备,能够实现分散控制。 2铣床进给运行过程 铣床工作台的进给运行分为点动和自动循环两种方式。点动包括步进(点动前进)和步退(点动后退),目的是调整工作台到达合适位置,以便安装待铣削工件和实现对刀操作;自动循环加工时是通过工作台的循环往复运动对工件进行铣削加工,其往返行程由装在床身的4只限位开关(接近开关)来控制,限位开关被安装在工作台侧面相互垂直的两个平面位置,当A, B两个挡块与其接触时发出反馈信号。限位开关安装位置如图1所示。 图1工作台行程限位开关示意图 3 CC-Link控制系统的组建 3. 1拉制系统整体方案构建 在构建的CC-Link网络中,主要由1个主站和3个本地站组成,网络拓扑结构如图2所示。对于单台铣床的控制,根据铣削加工工艺要求,需要由1台三相鼠笼式异步电动机、3台交流伺服电动机和与各台电动机相配套的控制模块,以及接近开关、指示灯等设备组成。其中三相异步电动机由PLC控制变频器实现调速,伺服电动机由伺服驱动器驱动。 图2 CC-Link控制系统的网络拓扑结构 3.2 CC-Link网络系统功能模块配置 一个CC—Link网络中所使用的各种功能模块包括:电源模块、PLC CPU模块、I/O模块、运动控制模块以及通信模块。主站单元由三菱高性能Q02HCPU、CC-Link通讯模块QJ61BTI1、64点的DC输入模块QX42和32点的QY41P型晶体管输出模块组成,主站用于实现对3台铣床的远程同步控制,并协调各台铣床的相互加工过程。 本地站为2号站、4号站和6号站,分别用于控制3台铣床各自的进给运动。本地站的硬件配置与主站不同之处在于使用了专门的Q172H型运动控制CPU,该CPU通过MR—J3—10B型通用交流伺服放大器来控制相应运动轴的伺服电机,从而实现铣床的进给运动。此外增加了64点的DC输入模块QX42和32点的QV41P型晶体管输出模块,采用三菱FR-E540系列变频器实现对主轴的调速控制,本地站通信模块采用CC-Link网络通用的QJ61BTll模块来实现与主站和其他本地站的通信。 3.3 本地站输入输出信号地址分配 在铣床运行控制过程中,主要的控制信号有主轴启停信号、主轴调速信号、点动进给信号、工作台位置检测信号以及各运动轴运动控制信号等。下面以本地站(单台铣床)直线进给过程为例说明其控制过程: (1)主轴启停信号。对每台铣床的主轴启停控制是各自独立的,由三相鼠笼式异步电机驱动运转,控制主轴的正反转,并通过按钮开关实现信号输入。 因此对铣床主轴的控制需要3个输入信号。 (2)铣床急停信号。当给铣床一个急停信号时,主轴停止运转并且伺服系统停止进给,这样需要1个输入信号和1个输出显示信号。 (3)点动进给信号。这一类信号包括工作台的石、y方向进给信号和主轴沿z方向进给信号,运动过程中需要完成工作台的前进/后退和左右移动,以及主轴沿z方向的上下移动,这样共需要6个输入信号。 (4)极限位置检测信号。为了防止工作台和主轴运行过程中超出工作行程,需要在工作台两端和主轴立柱上设置限位开关,当工作台或主轴到达限位开关位置时自动触发限位信号,使铣床停止进给运行并提示报警信号。在相互垂直的3个方向上共需要设置6个极限位置检测输入信号和1个输出信号。 (5)各运动轴运动状态信号。显示各运动轴正常运行的状态,需要3个输出信号。 (6)回零及回零完成信号。执行铣床回零操作时,先执行z方向回零操作,然后执行Z和Y方向回零过程,回零完成后显示各运动轴完成回零位状态,需要3个输入信号和3个输出信号。 本地站的输入输出信号用于显示铣床运行时的各种状态,输入输出信号地址的分配方案见表1,其他各站的I/O分配可参考该方案,在此不一一列出。

CC–Link总线在轻轨换轮装置控制系统上的应用

0 引言 换轮装置是轻轨车辆检修车间之一换轮车间的关键设备,用于将转向架与车体分离和组装,进行换轮作业,对车辆轮胎进行更换、充气作业,以及对转向架进行临时检修和应急更换作业等。该装置主要由沉降梁、沉降梁回转机构、沉降梁定位机构、升降平台水平保持机构、升降平台定位机构、行程限位机构、液压系统、电气控制系统、车体支撑装置、车辆裙板悬挂装置、临时台车等组成。在正常运行时,各个机构必须保持相对稳定,尤其是定位机构、回转机构和升降平台将直接影响作业过程中的安全。为此,本文在换轮装置控制系统上使用了CC—lank现场总线,下面就CC—Link现场总线的特性、系统组成及其应用效果进行介绍。 1 CC—Link系统组成 换轮装置控制系统的CC–Link网络由1个主站和3个远程设备站组成。CC–Link网络示意如图1所示。主站由电源模块、CPU模块、CC–Link模块、模拟量I/O模块和数字量I/O模块等组成。主站CPU为高性能型FX3U一32MR,通过总线与人机界面GTll65相连。CC—Link模块为FX2N一16CCI。一M型,最多可以连接8个远程I/O站、远程设备站、本地站、备用主站或智能设备站。远程设备站选用FX2N系列PLC,通过接口模块FX2N一32CCL与CC–Link网络连接。 在CC—Link网络中,主站通过CC—Link模块采用链路扫描方式与各从站进行数据链接,远程站与主站之间的链接通过缓冲存储器自动映射完成,而各站与本站PLC内的缓冲存储器是通过FROM/TO专用指令来读/写数据。 主站和远程设备站之间通过FX2N一32CCL单元中的BFM(缓冲存储器)进行数据交换。FX2N-32CCL可以看作是FX2N—PLC的一个特殊模块,FX2N—PLC通过FROM指令把从主站传来的数据从FX2N一32CCI。的BFM读出,通过T0指令把数据写入到FX2N-32CCI,的BFM中,然后传送给主站来实现数据交换。主站一远程设备站通信示意如图2所示。 主站与远程设备站之间的通信原理为:①PLC系统电源接通时,PLC CPU中的网络参数传送到主站,CC—Link系统自动启动;②远程设备站的远程输入RX自动储存在主站的“远程输入RX”缓冲存储器中;③储存在“远程输入RX”缓冲存储器中的输入状态储存到用自动刷新参数设置的CPU软元件中;④用自动刷新参数设置的CPU软元件开/关数据存储在“远程输出RY”缓冲存储器中;⑤根据“远程输出RY”缓 冲存储器中存储的输出状态,“远程输出RY”自动设定为开/关(每次链接扫描的时候);⑥用自动刷新参数设置的CPU软元件的传送数据存储在“远程寄存器RWw”缓冲存储器中;⑦存储在“远程寄存器RWw”缓冲存储器中的数据自动送到每个远程设备站的远程寄存器RWw中;⑧远程设备站的远程寄存器RWr的数据自动存储在主站的“远程寄存器RWr”缓冲存储器中;⑨存储在主站的远程寄存器RWr的数据储存到用自动刷新参数设置的CPU软元件中。 2 CC-Link通信的初始化和程序的实现 CC-Link通信的初始化实际上就是指CC-Link的网络参数设置。网络参数有站的信息和站号。通信的初始化对于启动数据链接非常重要,对CC-Link通信而言,只要在GPPW软件的网络配置菜单中设置相应的网络参数,远程I/O信号就可自动刷新到CPU内存,还能自动设置CC-Link远程元件的初始参数。 在通信程序设计完毕后,将通信程序通过GPPW软件下载到主站PLC的CPU中,可以利用模块的指示灯检查主站与远程I/O站及远程设备站的工作状态。本文给出了现场调试的部分通信程序,见图3。 3 结束语 通过现场调试,换轮装置各个机构运行平稳可靠,满足了工艺要求和安全要求。实践证明,利用CC—Link开发的网络控制系统具有实时性、开放性、保护功能齐全、通信速率快、网络先进、布线方便等优点,有利于分散系统实现集中监控,可提高系统的自动化水平,减轻工人劳动强度,减少事故率。

CC-LINK网络参数设置详解

  下文说明了一个参数设置的例子 ,按照下列步骤设置网络参数。 (a) 设置要设置的网络参数中的”所含板数” 缺省值 :无 设置范围 :0 到4(模块) 例)设置为1(模块) (b) 设置主站的”起始I/O 地址” 缺省值 :无 设置范围 :0000 到0FE0 例)设置为0000。 (c) 用”操作设置”设置参数名。(即使没有设置参数名也不会影响CC-LINK系 统的运行)。[d1] 缺省值 :无 设置范围 :8 个字母或少于8 个字母 例)设置为”CC-LinkM” (d) 用”操作设置”设置数据链接出错站的输入状态。 缺省值 :清除(不选中”保持输入数据”) 设置范围 :保持(选中”保持输入数据”) 清除(不选中”保持输入数据”) 例)设置为清除(不选中”保持输入数据”) (e) 用”类型”设置站类型 缺省值 :主站 设置范围 :主站 主站(双工功能) 本地站 备用主站 例)设置为主站 (f) 用”模式”设置CC-Link 模式 缺省值 :在线(远程网络模式) 设置范围 :在线(远程网络模式) 在线(远程I/O 网络模式) 离线 例:设置为在线(远程网络模式) (g) 用”所有连接计数”设置包括保留站在内的CC-Link 系统中连接的站的总 数。 缺省值 :64(模块) 设置范围 :1 到64(模块) 例)设置为5(模块)。 (h) 用”重试计数”设置发生通信错误时的重试次数。 缺省值 :3(次) 设置范围 :1 到7(次) 例)设置为5(次) (i) 用”自动重新连接站计数”设置通过一次链接扫描可以回复到系统运行的模 块数。 缺省值 :1(模块) 设置范围 :1 到10(模块) 例)设置为2(模块) (j) 用”备用主站号”设置备用主站的站号。 缺省值 :空白(未指定备用主站) 设置范围 :空白,1 到64(空白:未指定备用主站) 例)设置为空白(未指定备用主站) (k) 用”PLC 宕机选择”设置主站PLC CPU 发生错误时的数据连接状态。 缺省值 :停止 设置范围 :停止 继续 例)设置为停止。 (l) 用”扫描模式设置”设置顺控扫描的链接扫描是同步的还是异步的。 缺省值 :异步 设置范围 :异步 同步 例)设置为异步。 (m) 用”延迟信息设置”设置链接扫描间隔。 缺省值 :0(未指定) 设置范围 :0 到100(单位50μs) 例)设置为10(500μs)。…

CC-Link IE简介

从控制到系统的整体最优化。 CC-Link协会提案的整合网络构想。 CC-Link IECC-Link协会将其可能性,向世界进一步开放和扩大。 CC-Link协会不断致力于源于亚洲的现场总线CC-Link的开放化推广。现在,除控制功能外,为满足通过设备管理(设定监视)、设备保全(监视故障检测)、数据收集(动作状态)功能实现系统整体的最优化这一工业网络的新的需求,CC-Link协会提出了基于以太网的整合网络构想,即实现从信息层到生产现场的无缝数据传送的整合网络「CC-Link IE」。 为降低从系统建立到维护保养的整体工程成本,CC-Link协会通过整体的「CC-Link IE」概念,将这一亚洲首创的工业网络向全世界进一步开放扩展。 控制层网络 基于以太网&G级通讯速率! 引领时代潮流,新一代控制层网络强势登场! 基于以太网的整合网络「CC-Link IE」的系列概念,率先登场的是控制层网络,在现有的控制信息传送基础上,实现了设备维护/保养/元器件设定等信息处理数据传送。 <基于以太网> 符合实际技术发展趋势的最新技术。可以灵活应用符合以太网规范的电缆和连接器,从而使削减成本成为可能。 <高速 大容量> 在1Gbps高速传送基础上,实现了最大256K字节的大容量网络共享内存。能简单构筑处理大容量数据的分散控制系统。 <无缝通信> 实现了从信息层至生产现场网络间的无缝通信。 <不愧为新一代之名的CC-Link IE具有更卓越的多样化功能> 面向亚洲、乃至世界,让合作伙伴创造出具有更大附加价值的产品。 以亚洲为中心迅速普及的CC-Link,通过整合网络的实现,不仅可以为亚洲地区客户提供更完美更完善的解决方案,还可进一步促进CC-Link协会相关产品的普及。除控制产品外,亦能开发提供具高度维护诊断功能等附加价值的产品。