关键词: 编程
网络应用编程(精选十篇)
网络应用编程 篇1
1 顺序控制的数组
1.1 数组的概念
数组是把具有相同类型的若干变量按有序的形式组织起来,这些按序排列的同类数据元素的集合称为数组。当今各个厂家的PLC都具有很强的数据存储能力,提供了多种类型的数据存储区域,为实现数组编程提供了基础。
1.2 顺序控制的数组分类策略
要实现对设备的顺序控制,首先要知道该设备在整个时序中的位置,其次要知道设备的状态(准备好、故障、运行等),这样才能根据逻辑判断控制设备的启停。因此我们将数组分为工艺设备数组、状态数组和控制数组。
1.2.1 工艺设备数组
工艺设备数组中每行代表一个工艺步,每位代表一个设备在该工艺步中能否运行或是打开/关闭等,即把所有设备按照预先的启动顺序放在该数组中,当某设备在数组中的位为1时表示要对该设备进行控制,为0表示不作处理。
需要指出的是对于正反转类设备,如可逆皮带、阀门等,可以把此类设备分为2个独立的设备,在设备数组中占2个独立的位置,这样控制对象就能单一地控制该设备正转、反转,或开阀、关阀。
1.2.2 状态数组
工艺设备数组只是表明了哪些设备需要控制,程序执行时要判断设备是不是满足条件及是否往下执行,因此增设如下的状态数组:1)准备好数组。数组的结构与工艺设备数组完全一样,相同位置的数据表示该工艺设备的准备好信息,为1表示该设备准备好,满足启动条件,为0表示不满足;2)故障数组。数组的结构与工艺设备数组完全一样,相同位置的数据表示该工艺设备的故障信息,为1表示该设备故障,为0表示正常无故障;3)运行数组。数组的结构与工艺设备数组完全一样,相同位置的数据表示该工艺设备的运行信息,为1表示设备运行,为0表示停止。
1.2.3 控制数组
程序根据工艺数据及状态数组的逻辑判断,要对设备进行控制。控制数组分为3种:1)启动数组。数组的结构与工艺设备数组完全一样,相同位置的数据表示该工艺设备的启动指令,为1表示启动该设备,为0表示不动作;2)停止数组。数组的结构与工艺设备数组完全一样,相同位置的数据表示该工艺设备的停止指令,为1表示停止该设备,为0表示不动作;3)急停数组。数组的结构与工艺设备数组完全一样,相同位置的数据表示该工艺设备的急停指令,为1表示急停该设备,为0表示不动作。
综上可知,工艺设备数组、状态数组及控制数组的结构完全相同,数组中相同位置保存的为同一设备的不同信息,这样通过几个数组的建立,所有设备的信息都获得。在PLC中通过指针寻址功能可以方便对这些数组进行逻辑与、或等逻辑运算,实现顺序控制功能。
2 控制功能的实现
结合具体实例,阐述利用数组编程方法实现控制功能的过程。图1为某混匀配料模型图。图1中设有8个混匀配料槽C1~C8,控制要求如下。
启动顺序从C8槽下的电子皮带称H1068BW开始,延时启动C8槽下的圆盘给料机H1058DF,延时启动C7槽下的电子皮带秤H1067BW及H1057DF,依次类推直至最后启动C1槽下的设备,这样就可以把槽中的料均匀地布置到皮带H201BC上。值得注意的是,在每次配料过程中,并不是所有槽都会用到,所以要根据实际情况选择哪些槽参与本次配料,没有被选择的槽下的设备不动作。根据配料工艺,停止时与启动顺序相同,系统在启动及运行过程中,设备发生故障停机,所有设备立即停机。事故状态下设备重新启动,要具备设备“齐启”功能。
2.1 PLC程序中数组的建立
用西门子公司PLC为例论述数组建立方式,采用西门子PLC的全局数据块DB作为数组。图2、图3、图4分别为工艺设备数组、故障数组和启动数组,其它数组的建立与此类似。因为最先启动的设备为H1068BW,把它放在了数组的最后一位。
2.2 信号在数组中的传递
1)对于工艺设备数组,一种连锁关系对应一个设备数组,只需在设备数组中把参与连锁控制的设备初始值设定为1(TURE)即可。
2)对于状态数组和控制数组,为了信号传递方便,可以在编写输入/输出信号表时,把同类型的信号放置在一起,并且同种信号的排列顺序按照工艺设备序列编排,如所有的运行信号放在连续的IO点上,这样就可以把信号直接移动或是通过移位等逻辑操作移动到PLC建立好的数组中,这种方式不但方便快捷,也减轻了CPU的负担。
2.3 编写控制程序
所有数组建立后,可以编写逻辑程序实现设备控制。控制流程如图5所示。整个控制程序通过几个独立又相互关联的子程序段构成,判断准备好程序段,启动程序段,停止程序段及急停程序段。所有数组的结构都是相同的,数组中相同位置的数据表示同一设备的不同信息,因此可以通过间接寻址改变指针的方式对上述的数组数据进行判断,实现程序功能。图6所示为启动程序块的控制流程图,其它程序块的实现方法类似,不再赘述。
2.4 数组编程的优点
1)程序简单、可靠。只需根据设备的顺序建立好工艺设备数组、状态数组、控制数组,把外部信号传送至对应的该设备的状态数组中,并把通过程序判断生成的控制数组中的信号,发送至单体设备的控制程序中,即可实现对所有设备的连锁控制。
2)程序通用性强。对于同一组设备如果有多组时序控制要求时,只需更改工艺设备数组中的数据即可,图1所示的配料模型,每次配料可能用到的配料槽不相同,只需在工艺设备数组中把没有用到的设备在数组中设为0作为一个新的设备数组即可,其它不用修改。
3 结论
本文介绍了采用数组式编程方法在PLC中实现顺序控制的方案,提出了通过这些数组编写连锁程序的策略。数组式编程方法简单可靠,通用性强,适用于对于一组控制设备中连锁顺序有变化的场合,控制效果良好。
参考文献
[1]朱玉田,符星球,刘钊.一种简单通用的PLC顺序控制编程方法[J].测控技术,2008,27(11):70-72.
[2]廖常初.以转换为中心的PLC顺序控制[J].电气时代,2004,(1):88-90.
[3]邓玉全.原料场PLC集中流程控制方法探讨[J].冶金自动化,2010,34(S1):405-407.
网络编程简历 篇2
目前所在地: 广州 民族: 汉族
户口所在地: 湛江 身材: 170 cm 58 kg
婚姻状况: 未婚 年龄: 22 岁
培训认证: 诚信徽章:
求职意向及工作经历
人才类型: 应届生
应聘职位: 金融/证券/保险类:理财顾问、建筑/房地产/物业管理类:房产销售、工业/工厂类:采购专员
工作年限: 0 职称: 无职称
求职类型: 全职 可到职日期: 随时
月薪要求: 1500—2000 希望工作地区: 广州 深圳 广东省
个人工作经历: 公司名称: 太平洋人寿保险公司起止年月:2009-12 ~ 2010-02
公司性质: 国有企业所属行业:金融,保险
担任职务: 业务代表
工作描述: 保险营销,包括:客户开拓,跟踪,计划书制作及促成,售后服务等等。
离职原因:
公司名称: 番禺大岗镇顺伟隆超市(兼职)起止年月:2009-07 ~ 2009-09
公司性质: 私营企业所属行业:商业服务
担任职务: 家电部销售员
工作描述: 负责销售。
离职原因:
教育背景
毕业院校: 广东科贸职业学院
最高学历: 大专 毕业日期: 2010-07-01
所学专业一: 网络编程 所学专业二:
受教育培训经历: 起始年月 终止年月 学校(机构) 专 业 获得证书 证书编号
2007-09 2010-06 广东科贸职业学院 网络编程
2009-09 2010-01 广东科贸职业学院 网络编程 photoshop中级
2009-12 2010-02 太平洋人寿保险公司 保险从业人员培训 保险代理人资格证书 00200912440000114677
语言能力
外语: 英语 一般
国语水平: 优秀 粤语水平: 优秀
工作能力及其他专长
个人技能:
●熟悉国际和国内政治、时事动态和经济事务。
●熟练掌握电脑基本操作技术。包括word、excel、以及internet网络等操作;
●本人热爱羽毛球、篮球等球类运动。
详细个人自传
诚信、坚持,是我的个性。 诚信,是人在社会中生存、发展的基础;唯有诚信,才能得到别人的信赖,更好地完成自己的工作。坚持,就是不轻言放弃,以最热忱的.态度,最大的努力投入到工作和生活中去。
严谨、仔细是我的工作态度。 对于工作,我一直并将继续要求自己以最认真的态度、最大的耐心来对待。因为我深知,细节决定成败。
终身学习,是我的人生哲学。 现代社会是一个机遇与挑战并存的社会。唯有坚持学习,汲取新的知识和经验,不断提升个人素质与能力,才能抓住机遇、迎接挑战,在所处的职位上作出更大的贡献。
网络应用编程 篇3
关键词:VisualC++;网络编程;开发与应用
中图分类号:TP393文献标识码:A文章编号:1007-9599 (2013) 06-0000-02
自从互联网诞生的那一刻起,人们之间日常交互的方式又多了一种新的快捷的方式。从此以后带给人们的是更迅速快捷更加实时性的电子邮件。例如:QQ、MSN和邮件技术,其中以电子邮件更为人们所青睐。
1基于VisualC++技术开发的邮件传输协议介绍
邮件协议:
邮件发送功能是基于邮件协议的,常见的电子邮件协议有SMTP(简单邮件传输协议)、POP3(邮局协议)、IMAP(Internet邮件访问协议)。这几种协议都是由TCP/IP协议族定义的。
1.1POP;是PostOfficeProocol的缩写,目前的版本为Pop3,Pop3是把邮件从电子邮箱中传输到本地计算机的协议。
1.2IMAP:是InternetMessageAccessProtocol的缩写,目前的版本为IMAP4,是POP3的一种替代一协议,提供了邮件检索和邮件处理的新功能,这样用户可以完全不必下载邮件正文就可以看到邮件的标题摘要,从邮件客户端软件就可以对服务器上的邮件和文件夹目录等进行操作。IMAP协议增强了电子邮件的灵活性,同时也减少了垃圾邮件对本地系统的直接危害,同时相对节省了用户查看电子邮件的时间。除此职位,IMAP协议可以记忆用户在脱机状态下的对邮件的操作(例如移动邮件、删除邮件等)在下一次打开网络连接的时候会自动执行)
1.3SMTP协议
SMTP(simpleMailTransferProtocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族。它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E_Mail邮递收信人的服务器上了。SMTP服务器则是遵循SMTP协议的发送服务器,用来发送或中转发出的电子邮件。
工作过程:
简单邮件传输协议(SMTP)是一种基于文本的电子邮件传输协议,是在因特网中用于在邮件服务之间交换邮件的协议。SMTP是应用层的服务,可以适用于各种网络系统。
SMTP的命令和响应都是基于文本的,以命令行为单位,换行符为CR/LF,响应信息一般只有一行,由一个3位数的代码开始,后面可以附上很简短的文字说明。
SMTP要经过建立连接、传送邮件和释放连接3个阶段,具体过程如下:(1)建立TCPL连接。(2)客户端向服务器发送HELLO命令以标示发件人自己的身份,然后客户端发送MAIL命令。(3)客户端以OK作为相应,标示准备接受。(4)客户端发送RCPT命令。(5)服务器端标示是否愿意为收件人接受邮件。(6)协商结束,发送邮件,用命令DATA发送邮件输入内容。(7)结束此次发送,用OUT命令退出。
SMTP服务器基于DNS中的邮件交换记录路由电子邮件。电子邮件系统发送邮件时候是根据收信人的地址后缀来定位邮件服务器的。SMTP通过用户代理程序(UA)完成邮件的编辑、收取和阅读等功能;通过邮件传输代理程序将邮件传送到目的地。
2基于VisuslC++邮件系统编程的应用
2.1调用Windows自动的邮件发送程序
Windows系统自带的OutlookExpress,通过OutlookExpress可以发送电子邮件。在操作系统中,可以使用操作系统命令打开邮件程序。如果想在自己编写的程序中调用OutlookExpress,则需要使用函数CreatePROCESS()或函数ShellExecute()来调用。
使用CreateProcess()是一个Win32AP函数,用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。函数CreateProcess()的原型如下:
BOOLCreateProcess
(
LPCTSTRlpApplicationName,
LPTSTRlpCommandLine,
LPSECURITY_ATTRIBUTESlpProcessAttributes,
LPSECURITY_ATTRIBUTESlpThreadAttributes,
BOOLBInheritHandles,
DWORDdwCreationFlags,
LPCTSTRlpCurrentDirectory,
LPSTARTUPINFOlpStartupInfo,
LPPROCESS_INFORMATIONlpProcessInformation
);
ShellExecute()函数定义格式如下:
HINSTANCEShellExecute(HWNDhWnd,
LPCTSTRlpOperation,LPCTSTRlpFile,
LPCTSTRlpParameters,LPCTSTRlpDirectory,
INTnShowCmd);
为了加深对函数的理解,应用代码如下:
#include
#include
Mail()
{
Inti=0;
Chatch;
Boola=true;
Printf(“打开邮件程序!(Y/N)/n”);
Scanf(“%c”,&ch);
If(ch==’y’||ch==’y’)
{
Printf(“邮件程序正在打开…………/n”);
While(i<=10)
{
i+=1;
}
::ShellExcute(NULL,NULL,’mailto:bjrzny123@126.com”,
Printf(“邮件程序已经打开!/n);
/
}
Else
{
Printf(谢谢使用!/n);
}
Returntrue;
}
总之,新的Foxmail具备强大的反垃圾邮件功能。它使用多种技术对邮件进行判别,能够准确识别垃圾邮件与非垃圾邮件。垃圾邮件会被自动分检到垃圾邮件箱中,有效的降低了垃圾邮件对用户的干扰,最大限度的减少了用户因为处理垃圾邮件而浪费的时间。数字签名和加密功在Foxmial5.0得到支持,可以确保电子邮件的真实性和保密性。
参考文献:
[1]韩言妮,覃毅芳,慈松.未来网络虚拟化关键技术研究[J].中兴通讯技术,2011(02).
[2]黄瑾,金海,谢夏.网格系统中的层次化资源分配与任务调度[J].华中科技大学学报(自然科学版),2006(10).
[3]谢博,吴松,石宣化.多粒度网格资源预留系统[J].华中科技大学学报(自然科学版),2010(S1).
[4]王晓媛.一种基于代理的视频点播系统QoS管理模型[J].信息技术与信息化,2009(05).
[5]李影,周兴社,黄罡.基于实时CORBA的QoS资源管理Agent[J].小型微型计算机系统,2001(03).
[作者简介]冯滨(1982.1.31-),性别:男,籍贯:潍坊市潍城区,学历:本科(硕士在读)。
Widget引擎编程应用 篇4
「Yahoo!Widget Engine」是由雅虎推出的免费并开放源码的桌面应用程序平台。它由Widget引擎和Widget工具两部分组成。同过Widget引擎读者可以自己动手编制强大的桌面网络应用程序,以及桌面小程序。同样也可以通过网络下载各式各样的Widget工具来强化自己的桌面,完善您的桌面应用。
「Yahoo!Widget Engine」引擎提供了一个Ajax应用程序平台,在Windows和Mac OS X的操作系统环境下都可以使用。安装引擎后就能在两个平台上运行各式各样的Widget工具了。
本文对通过对「Yahoo!Widget Engine」引擎详细讲解,引导读者通过简单程序编制创建属于自己的精美桌面工具。
1 Widget引擎展示
1.1 开始体验Widget的魅力
Widget到底可以给我们带来多么优美的桌面应用呢,下面先向读者展示以下Widget自带的一些精美工具。(如图1、2所示)精美的时钟、系统资源利用情况、笔记本电池电量等等,这些仅仅是所有Widget工具的一些简单应用。本文将介绍如何定制属于自己的个性化Widget工具。
1.2 工具准备
在开始进行Widget精彩世界之前,需要准备以下工具:
1)Yahoo!Widget Engine 3.x
Widget程序引擎(可以从http://cn.widget.yahoo.com/下载)。
2)文本编辑器
NotePad或者其他任何支持Unicode的文字编辑器。
3)图形编辑器
任何一款具有图形编辑功能的软件。为了我们的工具更加靓丽进行一些图形编辑还是必须的。
1.3 目录结构
安装完Widget引擎后,就可以开始体验Widget所带来的精彩世界了。每一个Widget应用都是以.Widget结尾。双击就可以打开Widget应用了。
如图3所示,HJ.widget是我们制作的Widget应用。
现在我们来揭开Widget应用的神秘面纱:
Widget是以「包」的形式出现的,可以将“包”想象成一个文件夹,里面包含该Widget运行需要的一切内容。
如图4所示,在一个Widget包中基本上存在两个文件夹:
Images文件夹:用于存放应用所用到的图像文件;
Source文件夹:用于存放应用所用到的脚步文件。
HJ.kon可以说是应用的主控,根本上来讲.kon是一个XML文件
文件类型说明:
.kon
包含Widget工具的主要代码。当用户双击Widget时Yahoo!Widget Engine会首先找到这个文件,读取其中的内容。可以把.kon文件看出是整个Widget应用执行的入口主程序。
.kon包含了初始图片的位置,程序代码(XML、JavaScript),以及偏好设置等项目。有时候,尤其是在比较复杂的Widget工具中,JavaScript会保存在.js文件中。
.js
包含大部分Widget应用执行所需要的JavaScript代码。这个文件中不能包含XML标签。
当然还有其它一些文件类型,它们通常是各类图片。
2 Widget应用编程
2.1 HJ.Widget效果
在进行应用编程之前我们先看一下HJ.Widget应用执行效果,如图5所示。
可以看到通过这个简单的Widget应用,我们可以很方便的在桌面显示现在纸黄金实时报价。当然刷新频率,显示设置都可以根据你的需要动态调整。
2.2 HJ.Widget主程序编程
HJ.kon为主控脚步,其本身就是一个XML文件,我们使用NotePad打开进行程序编制,首先看一看整个XML文件的结构,如图6所示。所有属性均包括在
常用标签说明:
主程序脚本编程:
2.3 HJ.Widget脚本编制
如何将主应用程序同脚本关联起来,关键点主要有两个:
1)主控程序开始调用的脚本,已经初始执行语句。
主控程序通过在装载的时候调用onload.js脚本文件,执行相关的初始化动作。
2)初始任务完成后,定时装置自发的定时脚本执行。
通过这些程序段,我们可以看出整个.Widget脚本,是由JavaScript语句所编写的函数集合,通过调用不同的函数达到用于显示的目的,下面列举一些常见的Widget用到的对象及函数。
1)openURL()在默认网页浏览器中打开指定的URL
使用此函数来启动URL将会使URL以在用户的「联网设置」中设定的适当应用程序来启动。如果自变量为正确格式的URL,此函数将会返回true,否则将会返回false。
2)play()播放音效文件
支持的格式有MP3、AIFF、AU、WAV与SND。调用将会立即返回且会异步播放声音。
3)print()在调试窗口中打印字符串
常用于调试。请注意,将需要在Widget的XML中指定:
才能看到输出结果。
4)filesystem
filesystem对象可提供Widget将在其上执行的对于系统基础文件及目录的存取。请注意,在3.1版及更高版本中,Windows引擎将不允许filesystem对象改变C:Windows(或者设定为任何名称的Windows目录)中的任何内容。
3 制作发布
在完成所有程序编制后,就可以将自己制作的工具进行发布给好友一同分享。在旧版本的Widget中,发布只需要使用WINRAR之类的压缩工具,将整个文件进行压缩,然后将后缀修改为.Widget就可以。
新引擎引入了新的发布格式,通过新的Widget打包工具,可以直接打包出.Widget的文件,同时保护代码。
打包操作如图7,图8所示。
执行widget_convert.widget打开Widget转换工具,进行打包转换操作,直接将需要打包文件拖入工具中,点击convert,就可以看到本文的HJ.Widget文件了,发布时只需要发布HJ.Widget文件就可以了,而不需要发布一个目录,这样很方便了很多。
4 结束语
通过研究,笔者希望可以快速引导读者进入Widget的多彩世界,通过不断丰富Widget工具,让我们的桌面变得更加的完善。Widget所涉及到的内容有很多,包括XML、JavaScript等多种语言,工具支持。
参考文献
《网络高级编程》实验报告要求 篇5
二、报告首页为标准实验报告封面,有课程名称、实验名称、姓名、时间
三、报告内容为:1、2、3、4、实验目的 实验题目 实验过程步骤,详细说明实验编程的过程 实验程序的主要代码和注释说明(不需要完整的程
序!)。
5、6、实验中遇到的问题,怎么解决的。实验心得
四、报告的得分主要根据3、4、5五、三份实验报告装订在一起
浅谈可编程控制器的应用 篇6
关键词 PLC 特点 应用
一、 引言
作为通用工业控制计算机,30年来可编程控制器从无到有,实现了工业控制领域接线逻辑到存储逻辑的飞跃;其功能从弱到强,实现了逻辑控制到数字控制的进步;其应用领域从小到大,实现了单体设备简单控制到胜任运动控制、过程控制、集散控制等各种任务的跨越。今天的可编程控制器正在成为工业控制领域的主流控制设备,在世界各地发挥着越来越大的作用。
二、可编程控制器定义
可编程控制器,简称PLC(Programmable logic Controller),是指以计算机技术为基础的新型工业控制装置。它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输人和输出,控制各种类型的机械或生产过程。
三、可编程控制器的基本构成
从结构上分,PLC分为固定式和模块式两种。固定式PLC包括CPU板、I/O板、显示面板、内存块、电源等,这些元素组合成一个不可拆卸的整体。模块式PLC包括CPU模块、I/O模块、内存、电源模块、底板或机架,这些模块可以按照一定规则组合配置。
1. CPU的构成
CPU是PLC的核心,起神经中枢的作用。 CPU主要由运算器、控制器、寄存器及实现它们之间联系的数据、控制及状态总线构成,CPU单元还包括外围芯片、总线接口及有关电路。CPU的控制器控制CPU工作,由它读取指令、解释指令及执行指令。运算器用于进行数字或逻辑运算,在控制器指挥下工作。寄存器参与运算,并存储运算的中间结果,它也是在控制器指挥下工作。
2. /O模块
PLC与电气回路的接口,是通过输入输出部分(I/O)完成的。I/O模块集成了PLC的I/O电路,其输入暂存器反映输入信号状态,输出点反映输出锁存器状态。输入模块将电信号变换成数字信号进入PLC系统,输出模块相反。I/O分为开关量输入(DI),开关量输出(DO),模拟量输入(AI),模拟量输出(AO)等模块。
3. 电源模块
PLC电源用于为PLC各模块的集成电路提供工作电源。同时,有的还为输入电路提供24V的工作电源。电源输入类型有:交流电源(220VAC或110VAC),直流电源(常用的为24VDC)。
4. 底板或机架
大多数模块式PLC使用底板或机架,其作用是:电气上,实现各模块问的联系,使CPU能访问底板上的所有模块;机械上,实现各模块间的连接,使各模块构成一个整体。
四、可编程控制器的特点
1. 可靠性高
PLC由于采用现代大规模集成电路技术,采用严格的生产工艺制造,内部电路采取了先进的抗干扰技术,具有很高的可靠性。PLC带有硬件故障自我检测功能,出现故障时可及时发出警报信息。在应用软件中,可以编写外围器件的故障自诊断程序,使系统中除PLC以外的电路及设备也获得故障自诊断保护。这样,整个系统都具有极高的可靠性。
2. 功能完善、适用性强
PLC发展到今天,已经形成了大、中、小各种规模的系列化产品。可以用于各种规模的工业控制场合。除了逻辑处理功能以外,现代PLC大多具有完善的数据运算能力,可用于各种数字控制领域。近年来PLC的功能单元大量涌现,使PLC渗透到了位置控制、温度控制、CNC等各种工业控制中。加上PLC通信能力的增强及人机界面技术的发展,使用PLC组成各种控制系统变得非常容易。
3. 易学易用
PLC作为通用工业控制计算机,接口容易,编程语言易于为工程技术人员接受。梯形图语言的图形符号与表达方式和继电器电路图相当接近,只用PLC的少量开关量逻辑控制指令就可以方便地实现继电器电路的功能。为不熟悉电子电路、不懂计算机原理和汇编语言的人使用计算机从事工业控制打开了方便之门。
4. 维护方便、易于改造
PLC用存储逻辑代替接线逻辑,大大减少了控制设备外部的接线,使控制系统设计及建造的周期大为缩短,同时维护也变得容易起来。更重要的是使同一设备经过改变程序改变生产过程成为可能。这很适合多品种、小批量的生产场合。
五、可编程控制器的应用领域
目前,PLC在国内外已广泛应用于钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化娱乐等各个行业,使用情况大致可归纳为如下几类。
1. 开关量的逻辑控制
这是PLC最基本、最广泛的应用领域,它取代传统的继电器电路,实现逻辑控制、顺序控制,既可用于单台设备的控制,也可用于多机群控及自动化流水线。如注塑机、印刷机、订书机械、组合机床、磨床、包装生产线、电镀流水线等。
2. 模拟量控制
在工业生产过程当中,有许多连续变化的量,如温度、压力、流量、液位和速度等都是模拟量。为了使可编程控制器处理模拟量,必须实现模拟量和数字量之间的A/D转换及D/A转换。PLC厂家都生产配套的A/D和D/A转换模块,使可编程控制器用于模拟量控制。
3. 运动控制
PLC可以用于圆周运动或直线运动的控制。如可驱动步进电机或伺服电机的单轴或多轴位置控制模块。广泛用于各种机械、机床、机器人、电梯等场合。
4. 过程控制
過程控制是指对温度、压力、流量等模拟量的闭环控制。作为工业控制计算机,PLC能编制各种各样的控制算法程序,完成闭环控制。过程控制在冶金、化工、热处理、锅炉控制等场合有非常广泛的应用。
5. 数据处理
PLC具有数学运算、数据传送、数据转换、排序、查表、位操作等功能,可以完成数据的采集、分析及处理。(下转页237)(接下221页)这些数据可以与存储在存储器中的参考值比较,完成一定的控制操作,也可以利用通信功能传送到别的智能装置,或将它们打印制表。数据处理一般用于大型控制系统,如无人控制的柔性制造系统;也可用于过程控制系统,如造纸、冶金、食品工业中的一些大型控制系统。
六、结束语
21世纪,PLC会有更大的发展。伴随着计算机网络的发展,可编程控制器作为自动化控制网络和国际通用网络的重要组成部分,将在工业及工业以外的众多领域发挥越来越大的作用。
参考文献:
[1]齐从谦《PLC技术及应用》机械工业出版社,2000
应用宏编程加工等速凸轮 篇7
在数控铣削加工中, 形状复杂的零件, 特别是具有非圆曲线、列表曲线及曲面的零件, 用一般的编程方法编写会有一定的困难, 且出错的概率较大, 有的甚至无法编出程序。宏编程很好地解决了这一问题。宏编程可以将数学公式、微分方程等有关的知识结合到程序中, 是一种利用基本计算方法解决工程实际问题的有效方法。生产中常用的一些零件, 如凸轮、齿轮、离合器、螺旋线等都可以使用宏编程。现以如图1所示的等速凸轮为例, 讲述宏编程的应用。
1 宏编程的应用
非圆曲线轮廓零件在编程时所做的数学处理一般分两步:1) 选择插补方式, 即首先应决定是采用直线段 (G01) 逼近非圆曲线还是采用圆弧段 (G02) 逼近非圆曲线;2) 插补节点坐标计算。等间距法是常用的方法, 使一坐标的增量相等, 然后求出曲线上相应的节点, 将相邻的节点连成直线, 用这些直线段组成的折线代替原来的轮廓曲线。这种方法的特点是计算简单, 坐标增量的选取可大可小, 选的越小则加工精度越高, 同时节点会增多, 相应的程序长度也将增加, 而采用宏编程正好可以弥补这一缺点, 不管选取的节点是多少, 其程序段不会增加。
装夹此工件可通过心轴安装在分度头上, 当用分度头铣削时, 分度头仰角应等于90°, 使其主轴和工作台台面垂直。此外, 为了防止凸轮在铣削过程中工件转动, 在工件与心轴之间用平键联接进行角向定位。对等速凸轮来说, 其从动件滚子中心的运动轨迹是一条真正的平面螺旋线, 而凸轮的实际外形曲线只不过是滚子外圆在各个不同瞬时位置的包络线。因此, 立铣刀的直径应当与滚子直径相等。这里选用d16mm的立铣刀。
按照A-B-C-A的刀具轨迹进行加工, 其中AB段和BC段为阿基米德螺旋线。以AB段为例介绍宏编程的应用。先将其分为90份直线段;用#1和#2分别代表各段节点的x, y坐标;用变量#3表示角度的增加, 其初值为0°;用变量#4表示半径的增加, 其初值为40;最后算出90份直线段中每段的半径升高量为 (60~40) /90mm。
2 结语
宏编程与一般数控程序的区别主要在于其能支持变量、运算和流程控制, 它能充分展示一个编程员的数控编程技巧。合理的选用变量, 可以提高零件的加工精度 (多选节点) 和编程效率。宏编程趣味性大, 千变万化, 掌握它的关键就在于抓住图形轮廓的规律, 灵活的运用变量。
摘要:在数控铣削加工中, 非规则曲线的加工可以利用宏编程引入数学知识, 用变量、运算和流程控制来完成编程。着重分析了等速凸轮中阿基米德螺旋线的宏编程。
关键词:宏编程,等速凸轮,变量
参考文献
[1]张君.数控机床编程与操作[M].北京:北京理工大学出版社, 2007.
Python网络编程研究 篇8
现在已经进入移动互联网的时代,而这一切的基础是底层计算机网络和基于网络上的各自应用,应用之间进行通信依赖底层的网络模型。计算机网络模型是指由通信线路互相连接的许多自主工作的计算机构成的集合体,各个部件之间以何种规则进行通信。网络模型一般是指OSI 7层参考模型和TCP/IP 4层参考模型。模型如图1所示。
OSI(Open System Interconnect),即开放式系统互联,是ISO(国际标准化组织)组织在1985年研究的网络互联模型。该体系结构标准定义了网络互连的7层框架(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层),TCP/IP 4层模型是OSI 7层模型的一个简化实现。无论哪种模型,核心都是需要进行数据传输。数据传输层有两种协议:TCP和UDP,这两种协议都是面向连接的,其中TCP是可靠传输,UDP是不可靠传输。在网络上传输的数据称为数据包,它在应用层数据或报文按照一定事先规定好的规则整合的数据集合,实际操作包括组包(打包),数据包传送,然后对端解包。
网络通信的过程:
(1)建立连接。
(2)发送端把信息通过规定好的协议进行组包。
(3)数据包在网络上传输。
(4)在接收端按照规定好的协议把包进行解析,提取出对应的信息。
如图2所示。
2网络通信概念
2.1 TCP连接
TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,它完成第四层传输层所指定的功能,不同主机的应用层之间经常需要可靠的、像管道一样的连接。通信的双方需要通过TCP 3次握手建立连接,如图3所示。
2.2 Socket编程
Socket编程是为了简化TCP/UDP通信而产生的面向程序员的技术。通常翻译为插座或套接字,是一个通信连接在本端的句柄(该句柄由本地操作系统分配和管理),建立Socket连接后通信双方通过本地的Socket句柄和对端通信。
一个Socket连接结构有如下5元组(协议、源IP地址、源端口、目的IP地址、目的端口),5元组中只要有一个参数不一样,连接就不一样。
建立连接前,服务器公布它的服务信息(类似于公布一个电话号码),服务器类似电话通话中的被叫,客户端类似于主叫。建立连接的过程是客户端(主叫)得知服务端的服务信息如IP和端口(被叫号码),这时客户端向服务器(服务器侦听被叫号码,实际上侦听某个服务端口)发起一个呼叫请求,服务器得到这个请求后,响应客户端以建立电话通路,同时分配本地的Socket号,建立连接后,对于通信的双方,每方都有一个本地的Socket句柄,后续数据交换(通话)双方都通过本地的Socket号和对端进行通信。而服务器继续侦听原先的服务端口以便接受新的请求。
3 Python Socket编程
3.1客户端通信
(1)创建一个本地的Socket,Socket句柄由本地os分配。
(2)调用Socket的Connect方法和远程服务器建立连接。
(3)建立连接后,客户端通过send和recv方法来和服务器进行通信。
(4)通信结束后,客户端调用close方法关闭连接。
3.2服务端通信
(1)创建用于侦听的socket对象,Socket句柄由本地os分配。创建时调用Socket构造函数,传入两个参数:familly、type,分别表示通信协议和Socket类型。对于TCP连接,用AF_INET和SOCK_STREAM(流套接字)。
(2)将刚初始化的Socket对象绑定到本地的一个地址上,地址包括本地IP和端口,如果端口被别的程序占用,将会报端口被占用错误,如果IP无效,也报错。
(3)调用listen函数开始侦听以接受客户端来的新连接请求。
(4)调用accept方法阻塞等待客户端连接到达,如果建立了新的TCP连接,则os分别新的本地连接Socket对象并通过accept返回给应用程序,后面应用程序通过该Socket对象和客户端进行通信。
(5)服务器通过调用send和recv方法,和客户端传输数据。
(6)数据传输结束后,服务器可以调用close方法主动关闭连接。如果是客户端主动关闭连接,服务端再recv数据时将得到空对象,这时也可以关闭连接(被动关闭)。
完整的客户端-服务端Socket通信过程如图4所示。
3.3客户端-服务端编程实例
服务端:
客户端:
上面的客户端-服务端例子是最简单的Socket网络编程例子,这个例子的优点是非常简单,通过例子对网络编程的过程有基本认识。缺点是服务器不支持多个客户端同时并发和服务器通信。
4结语
介绍了网络通信的基本模型和基本概念,重点介绍了基于Socket的编程过程,最后给出了对应的Python程序实现,并评价上面程序的优缺点。
摘要:介绍了网络通信的基础知识特别是TCP连接和Socket概念,介绍了在Python中进行Socket网络编程,开发了实际的客户端-服务器例子。
Java网络数据库编程及其应用 篇9
JDBC (Java Database Connectivity) 是Java实现数据库主要访问的API (Application Programming Interface) , 它与Microsoft的ODBC (Open Database Connectivity) 一样, JDBC主要是建立在X/Open SQLCLI (Call Level Interface) 等基础上的。JD-BC的主要是通过计算机管理存放在表中的数据, 因此定义了一系列与关系数据库, 如:数据库连接、SQL语句、结果集和元数据等, 在需要时进行交互的类和接口。
2 JDBC的主要接口和驱动程序
2.1 JDBC的主要接口
JDBC主要提供的有针对一般开发人员应用程序的JDBC API和底层的JDBC Driver API两种接口。
JDBC API它是一系列抽象的接口, 它的实现是由驱动程序开发商提供的。
JDBC中的驱动程序必须提供实现方法的接口。JDBC API被定义在java.sql包中, 其中定义了JDBC API用到的所有类、接口和方法, 主要的类和接口有:
(1) DriverManager类——处理驱动程序的装入, 为新的数据库连接提供支持。驱动程序要向该类注册后才能被使用。进行连接时, 该类根据JDBC URL选择匹配的驱动程序。
(2) java.sql.Driver接口——驱动程序接口, 负责确认URL与驱动程序的匹配、建立到数据库的连接等, 其中的方法需要有相应的驱动程序实现。
(3) java.sql.Connection接口——表示到特定数据库的连接, 其中的方法需要有相应的驱动程序实现。
(4) java.sql.Statement接口——为SQL语句提供一个容器, 包括执行SQL语句、取得查询结果等方法。
java.sql.ResultSet接口——提供对结果集进行处理的手段。
(5) JDBC Driver API是面向驱动程序开发商的接口。对于大多数数据库驱动程序来说, 仅仅实现JDBC API提供的抽象类就可以了。也就是说每一个驱动程序都必须提供对于java.sql.Connection、java.sql.Statement、java.sql.PreparedStatement和java.sql.ResultSet等主要接口的实现方法。如果目标DBMS提供有OUT参数的内嵌过程, 那么还必须提供java.sql.CallableStatement接口。每个数据库驱动程序必须提供一个java.sql.Driver类, 使得系统可以由java.sql.DriverManager来管理。一个典型的驱动程序是在ODBC上提供对JDBC的实现接口, 从而提供与ODBC接口的JDBC-ODBC桥。由于JDBC放在ODBC之后, 所以实现起来简单而且高效。
2.2 JDBC驱动程序
JDBC驱动程序可以分为下面四种类型:
(1) JDBC-ODBC桥驱动程序
Sun产品通过ODBC驱动程序提供JDBC的存取, 即经过ODBC驱动程序访问数据库。在大多数情况下, ODBC二进制代码必须在每个使用该数据库驱动程序的客户端安装, 所以这种驱动程序主要适用于公司内部网络, 或者在三层结构中用Java编写的应用服务器代码。
(2) 本机应用编程接口的Java驱动程序
此类驱动程序转换JDBC调用客户端的、针对特定数据库系统的API, 如Oracle、Sybase、Informix、DB2或其它的DBMS, 像桥驱动程序一样, 这种类型的驱动程序要求在每一个客户机上安装一些二进制代码。
(3) 数据库中间件的纯Java驱动程序
此类驱动程序将JDBC调用转换成为中间件供应商的协议, 然后通过中间件服务器转换成为DBMS协议。网络服务器中间件可以连接所有Java客户端到各种不同的数据库, 但是特定的协议取决于供应商。通常这种方式是JDBC最方便的选择, 提供商可为Internet用户提供产品套件。为了使这些产品能够支持Internet访问, 他们还必须处理安全、防火墙穿越等需求。各个提供商正在增加JDBC驱动程序到他们现存的中间件产品中。
(4) 直接连接数据库的纯Java驱动程序
这种驱动程序是本地协议的纯Java驱动程序, 它转换JDBC调用由DBMS直接使用的网络协议。这种方式允许从客户机到DBMS服务器的直接调用, 是Intranet访问的一种行之有效的解决方案。因为这些协议多数是专用的, 因此数据库提供商将成为这种驱动程序的主要来源。
3 JDBC使用方法
目前, Java使用最多的Applet是Web文件的一个组成部分。其中有数据库存取的Applet和能够使用JDBC来接触数据库的Applet。
首先Web浏览器从Web服务器中下载嵌有Applet的HTML页面, 解释并执行Applet字节码。当执行到有访问数据库的Java语句时, Applet直接将相应的Java命令发送给装在服务器上的JDBC。通过JDBC向后端数据库发出SQL请求, 然后数据库将处理结果通过JDBC直接返回给Applet。Applet通过JDBC访问数据库的方法是一种Web数据库访问的实现方案。
参考文献
Java网络编程-Socket 篇10
Socket可以说是对TCP/IP协议的封装和应用 ( 程序员层面上) , 但是它也适用于其它协议如UDP协议, Socket是一种应用接口, TCP/IP是网络传输协议, 虽然接口相同, 但是不同的协议会有不同的服务性质。 创建Socket连接时, 可以指定使用的传输层协议, Socket可以支持不同的传输层协议 (TCP或UDP ) , 当使用TCP协议进行连接时, 该Socket连接就是一个TCP连接。 因此也可以说Socket跟TCP/IP协议没有必然的联系。 Socket的出现只是可以更方便的使用TCP/IP协议栈而已。 Java语言中Socket通信机制采用了IO流操作模型。 首先通信的双方, 客户端和服务器需要建立Socket连接; 之后双方都有各自的Socket对象。 该Socket对象包含两个流: 一个是输入流Input Stream, 其作用是接收数据; 另一个是输出流Output Stream, 作用是向外发送数据。 Java为TCP协议提供了两个类: Socket类和Server Socket类。 一个Socket实例代表了TCP连接的一端。 一个TCP连接 (TCP connection) 是一条抽象的双向信道, 两端分别由IP地址和端口号确定。 在开始通信之前, 要建立一个TCP连接, 这需要先由客户端TCP向服务器端TCP发送连接请求。 Server Socket实例则监听TCP连接请求, 并为每个请求创建新的Socket实例。 也就是说, 服务器端要同时处理Server Socket实例和Socket实例, 而客户端只需要使用Socket实例。
HTTP是基于Socket通信的子协议, Socket收发信息自由, 协议都可由使用者定义。 HTTP在Socket基础上做了协议规范, 通信只能按照特定的格式去做, 用户可在HTTP上做自己的子协议, 如网页浏览, webservice, soap等。 构造一个ServerSocket对象, 并绑定到所指定的端口port上面。 Server Socket对象一旦建立, 就可以完成其监听端口和等待连接的功能。在开发中用到Socket感觉是很高大上的, 在Java中有关Socket相关的类都位于java.net包下, sun.* 这个包也包含了很多的网络编程相关的类, 但是不建议使用这个包下面的API, 因为这个包可能会改变, 另外这个包不能保证在所有的平台都有包含。
相关文章:
西门子可编程控制器在隧道交通控制中的应用01-23
计算机编程实训总结01-23
编程教学和计算思维论文题目01-23
进、排气门01-23
北邮2011计算机上机复试编程题目01-23
可编程看门狗监控EEPROM芯片X25045及其应用01-23
最新邀请高考专家讲座的主持词 高考心理讲座主持词(五篇)01-23
舌系带矫正术01-23