工控上位机编程学习技巧
一、为何要学编程?每个人的动机不一样。大致有:
1、为了找个好工作,或为了有更好的机会和更好的发展。2、看到别人超厉害,所以也想学。3、实际工作中很多场合需要。4、从小就立志做个程序员,做软件工程师。5、振兴中国的软件事业。二、如何学编程?1、多看好书。差书误人子弟,不但浪费时间和精力,而且打击人的信心,差书使人很久都不会,会让人怀疑自已的学习能力。 现在的书很多,但好书很少,特别是被大家公认很有价值的好书更是少之又少。历经多年时间考验和市场风雨的残酷洗礼而仅存的巨著,更是极其稀少。中国历史上文学小说类书本多如牛毛,但仅存的巨著,也只不过<<红楼梦>>等四本名著而已,编程方面也是如此。2、多动手。这一点很重要。而且特别重要。“纸上得来终觉浅,绝知此事要躬行。”陆游的千古名句说的就是这个道理,并且同样适合于编程方面。三、用什么语言最好?这主要取决于应用领域,每种语言都有自已的长处和不足。
1、汇编语言和C语言在单片机及工控领域用较多。另外C语言也是一种通用语言,是学C++/C#的起点。2、C++系统编程等多个方面,最常用的编译器是VC。3、C#/Java网络编程方面新兴的。4、VB通用。5、还有Delphi等。。。。。。个人建议:从未编过程的,就从学VB开始。有基础的可直接学C++/VC。四、有什么好书?
几年前,台湾著名技术作家侯捷先生曾经写过一篇影响很大的书评文章,叫做《MFC四大天王》。文章的意思是说在MFC的浩瀚书海中,只要认真研读和学习其中四本,就可以“五岳归来不看山”。侯先生虽以MFC为例,但是这个道理却同样适合于MFC之外的很多具体技术领域,这不能不说是一个有趣的统计现象。
通常在某一个具体细分的技术领域,会自然而然地出现3-5本顶级著作,它们彼此互相配合,形成一个完整的体系。对于学习者来说,只需要认真研读这几本书,就足以升堂入室。我乐于将这种现象称为“四书五经现象”。对于读者来说,如果能够找到该领域中的“四书五经”,则无论在时间上还是金钱上都是最经济的选择。好书几本,胜过烂书几捆,这个体会想必大家都有。在此,帮助大家遴选各个技术领域里的“四书五经”。
编程的书可谓汗牛充栋,其中经典也是不泛其数,但绝大多数的过来人,都一致认为,要想很快地入门并尽快地投入到编程实践中,只要其中的四到五本也就够了,即只看经典中的经典,圣经级的书就可以了。
所谓活到老学到老,程序员是个终身学习的职业,要不断地看书,直到放弃编程的那一天。所以,您要读的好书也绝非以下推荐的这些书哟,呵呵。
一句话,由于我们的时间、精力、金钱都是有限的,如何以最小的代价换得最大的收获。五、经典好书分类热销榜1、java
java编程语言(第三版)---java四大名著----James Gosling(java之父)java编程思想(第2版)----java四大名著----Bruce Eckeljava编程思想(第3版)----java四大名著----------------Bruce Eckeljava 2核心技术 卷I:基础知识(原书第7版)---java四大名著-----Cay Horstmannjava 2核心技术 卷II:高级特性(原书第7版)----java四大名著-----Cay HorstmannEffective java中文版------java四大名著--------Joshua Bloch精通Struts:基于MVC的java Web设计与开发---孙卫琴精通Hibernate:java对象持久化技术详解---孙卫琴Tomcat与java Web开发技术详解------------孙卫琴java与模式------------------------------阎宏2、C#
C#程序设计-------Charles Petzold“windows编程泰山北斗”---C#语言“倚天屠龙双剑”C# Primer中文版--------Stanley B.Lippman---C#语言“倚天屠龙双剑”.NET框架程序设计(修订版)--------Jeffrey Richter“windows编程泰山北斗”---.NET平台四大天王C# Windows程序设计----------Charles Petzold“windows编程泰山北斗”------.NET平台四大天王.NET程序设计技术内幕-------------Jeff Prosise---.NET平台四大天王.NET本质论--第1卷:公共语言运行库(中文版)--------Chris Sells---.NET平台四大天王3、C++
C++程序设计语言(特别版)---c++八大金刚----Bjarne Stroustrup“C++之父”C++ Primer (第3版)中文版----c++八大金刚---Stanley B.LippmanC++ Primer(第4版)中文版----c++八大金刚---Stanley B.LippmanC++标准程序库—自修教程与参考手册--c++八大金刚--Nicolai M.JosuttisC++语言的设计和演化-----c++八大金刚----Bjarne Stroustrup“C++之父”深度探索C++对象模型---c++八大金刚----Stanley B.LippmanEssential C++中文版---c++八大金刚---Stanley B.LippmanEffective C++中文版 2nd Edition-----c++八大金刚------Scott MeyersMore Effective C++中文版----c++八大金刚------Scott MeyersC++编程思想(第2版)第1卷:标准C++导引--------Bruce EckelC++编程思想(第2版)第2卷:实用编程技术 --------Bruce EckelC++程序设计--------------------------谭浩强C++ 程序设计教程(第2版)--------------钱能C++ Primer Plus(第五版)中文版---Stephen Prata广博如四库全书The c++ programming language、c++ Primer深奥如山重水复Inside the c++ object model程序库大全The c++ standard libray工程经验之积累Effective c++、More Effective c++、Exceptional c++C++八大金刚:
1、Essentital c++---lippman---C++之父,旁枝暂略,主攻核心,轻薄短小,初学者2、The c++ programming language----C++之父,技术权威,用词深峻,思想深远,c++百科全书代表,圣经。3、c++ Primer----lippman---纵横书市十数年,c++最佳教本,c++百科全书代表。4、Inside the c++ object model-----lippman----揭示c++底层,非常好,非常难。5、Effective c++-----通过50个编程实例,展示专家经验,行文有趣,深处浅出。6、More Effective c++----通过35个编程实例,展示专家经验,行文有趣,深处浅出。7、The c++ standard libray---c++标准库的百科全书。8、设计模式:可复用面向对象软件的基础------good!4、cC程序设计语言(第2版·新版)---C语言“倚天屠龙双剑”---Brian W.Kernighan“C语言之父” C Primer Plus中文版(第五版)--------C语言“倚天屠龙双剑”---Stephen Prata C程序设计(第三版)---------------------------谭浩强 C语言大全(第四版)---------------------------HERBERT SCHILDT C语言接口与实现:创建可重用软件的技术-------------DAVID R.HANSON C语言参考手册(原书第5版)--------------------------Samuel P.Harbison C程序设计教程---------------------------------H.M.Deitel/P.J.Deitel C陷阱与缺陷-----------------------------------Andrew Koenig5、VB
Visual Basic .NET技术内幕-----VB编程三剑客-----------Francesco Balena“vb首席大师”Windows程序设计-Visual Basic.NET语言描述--VB编程三剑客-----Charles Petzold“windows编程泰山北斗”---.NET框架程序设计:Visual Basic.NET语言描述--VB编程三剑客--Jeffrey Richter“windows编程泰山北斗”---Visual Basic 6编程技术大全------------------------Francesco Balena“vb首席大师”Visual Basic.NET 从入门到精通-------------------------Petroutsos,E.高级VISUAL BASIC编程-----------------------------------MATTHEW CURLAND6、Delphi
Inside VCL(深入核心——VCL架构剖析)----------李维Delphi 7高效数据库程序设计--------------李维面向对象开发实践之路(Delphi版)----------李维7、VC
Windows 程序设计(第5版)-----Charles Petzold“windows编程泰山北斗”---Windows核心编程----------Jeffrey Richter“windows编程泰山北斗”---Windows高级编程指南---------Jeffrey Richter“windows编程泰山北斗”---深入浅出MFC(第二版)-----“MFC四大天王”-------侯捷MFC Windows程序设计(第2版)---MFC四大天王”---------Jeff ProsiseVisual C++ 技术内幕(第4版)--MFC四大天王”--------David Kruglinski深入解析MFC-------------MFC四大天王”-----------George ShepherdVisual C++.NET 技术内幕(第6版)-MFC四大天王”------------David Kruglinski8、vf
Visual Foxpro程序设计参考手册-------------------张洪举专家门诊——Visual FoxPro开发答疑160问-------------------张洪举Visual FoxPro 6.0/9.0解决方案与范例大全-------------------张洪举Visual FoxPro软件开发模式与应用案例-------------------张洪举9、黑客
应用密码学(协议算法与C源程序-----------Bruce Schneier网络信息安全的真相-----------Bruce Schneier黑客大曝光:网络安全机密与解决方案(第5版)--------STUART MCCLURE软件加密技术内幕------------看雪学院加密与解密——软件保护技术与完全解决方案------------看雪学院加密与解密(第二版)--------段钢10、汇编
Intel微处理器结构、编程与接口(第六版)---------Barry B. Brey80*86、奔腾机汇编语言程序设计---------Barry B. BreyWindows环境下32位汇编语言程序设计(第2版)-----------罗云彬IBM-PC汇编语言程序设计(第2版) 本书是国内优秀教材--------沈美明 温冬婵IBM PC汇编语言程序设计(第五版) 这本书籍是国外优秀教材-------PETER ABEL著,沈美明 温冬蝉译11、驱动开发
Windows WDM设备驱动程序开发指南------------------------------------ Chris CantWindows 2000/XP WDM设备驱动程序开发(第2版)--------------------------武安河WINDOWS 2000/XP WDM设备驱动程序开发-------------------------------- 武安河12、网络
计算机网络第四版中文版----网络编程三剑客--------------Andrew S.TanenbaumTCP/IP详解3卷本--------------------Richard Stevens----网络编程三剑客UNIX网络编程2卷本--------------------Richard Stevens----网络编程三剑客用TCP/IP进行网际互联-----------Douglas E. Comer高级TCP/IP编程-------------------Jon C. SnaderC++网络编程-----------------------Douglas SchmidtUNIX环境高级编程(第2版)--------------------Richard Stevens13、算法
计算机程序设计艺术-------Donald.E.Knuth----------算法“倚天屠龙”双剑算法导论-----------------Thomas H. Cormen--------算法“倚天屠龙”双剑离散数学及其应用----------Kenneth H.Rosen具体数学—计算机科学基础--------Donald.E.Knuth14、图形编程
Windows 图形编程----------------FENG YUAN --图形编程界的Charles Petzold之书
15、数据结构
数据结构 C++语言描述》58.00(Data Structures C++) William Ford,William Topp 刘卫东 沈官林数据结构算法与应用-C++语言描述》49.00Sartej Sahni 汪诗林 孙晓东等机械工业出版社16、软件工程
设计模式--可复用面向对象软件的基础重构—改善既有代码的设计17、操作系统深入理解计算机系统(修订版)-------RANDAL E.BRYANT18、Unix
UNIX 网络编程 卷I 套接字联网API(英文版 第三版)UNIX 编程艺术UNIX环境高级编程(英文影印第2版)-----UNIX编程“圣经UNIX环境高级编程(英文影印版)(第2版)UNIX环境高级编程(第2版)UNIX环境高级编程(第2版)---UNIX编程“圣经UNIX网络编程 第1卷:套接口API(第3版)UNIX网络编程卷2:进程间通信(第2版)(英文影印版)UNIX 网络编程(第二版)第2卷:进程间通信UNIX编程环境UNIX 网络编程 卷I 套接字联网API(英文版 第三版)UNIX系统编程UNIX环境高级编程UNIX 网络编程 卷I 套接字联网API(英文版 第三版)UNIX网络编程 第1卷:套接口API(第3版)UNIX 网络编程(第二版)第2卷:进程间通信UNIX网络编程卷2:进程间通信(第2版)(英文影印版)UNIX 网络编程(第2版)第1卷:套接口API和X/Open 传输接口APIUNIX网络编程(卷1):连网的APLS:套接字与XTI(第二版)(英文影印版)UNIX环境高级编程Unix技术手册19、Linux
Linux内核设计与实现Linux内核完全注释LINUX内核分析及编程GNU/Linux 编程指南(第二版)Linux设备驱动程序(第三版)嵌入式设计及Linux驱动开发指南——基于ARM 9处理器Linux设备驱动程序 第三版(英文影印版)Linux内核设计与实现(第2版)Linux内核设计与实现(英文影印版)(第2版)Linux技术手册20、游戏编程
Windows游戏编程大师技巧(第二版)游戏之旅--我的编程感悟OpenGL超级宝典:第三版OpenGL编程指南(第四版)java 游戏高级编程J2ME手机游戏编程入门游戏之旅——我的编程感悟游戏开发中的人工智能(英文影印版)3D游戏:卷2 动画与高级实时渲染技术面向对象的游戏开发java 游戏高级编程3D游戏编程大师技巧游戏编程精粹面向对象的游戏开发3D游戏 卷1:实时渲染与软件技术3D游戏 卷2:动画与高级实时渲染技术…J2ME手机游戏编程入门Direct3D游戏编程入门教程(第二版)…21、移动开发
Windows Mobile手机应用开发SYMBIAN OS C++手机应用开发Windows Mobile手机应用开发--傅曦 齐宇 徐骏SYMBIAN OS C++手机应用开发 (第2卷)------------------RICHARD HARRISON著,周良忠 王伯欣译SYMBIAN OS C++手机应用开发---------------RICHARD HARRISON著,周良忠译Windows CE.net内核定制及应用程序开发---------周毓林 宁杨 陆贵强 付林林嵌入式系统Windows CE 开发技巧与实例--傅曦Palm OS编程实践---绝版22、单片机
单片机轻松入门----------------------------------周坚(平凡老师)单片机典型模块设计实例导航-----------------------求是科技例说8051----------------------------------------张义和陈敌北KEIL CX51 V7.0单片机高级语言编程与ΜVISION2应用实践-----徐爱钧单片机应用程序设计技术(修订版)--------------------周航慈8051单片机实践与应用-------------------------------吴金戎MCS-51系列单片机实用接口技术---------------------李华23、串并口通讯
Visual C++/Turbo C串口通信编程实践------------------龚建伟VISUAL BASIC与RS-232串行通信控制(最新版)----------范逸之24、电子
无线电识图与电路故障分析轻松入门(第二版)-------------------胡斌无线电元器件检测与修理技术轻松入门(第二版) -------------------胡斌图表细说电子技术识图-------------------胡斌图表细说电子元器件-------------------胡斌图表细说元器件及实用电路-------------------胡斌通过以下4个阶段的训练第一阶段:掌握一种编程语言
学习内容: 学习任意一种主流的编程语言,例如C++语言。学习目标: 熟练掌握一种语言的语法和基本的编程技巧。学习时间: 3个月左右注意事项: 编程语言和编程工具是两回事情,编程语言是指C++、Basic、Object Pascal等程序设计语言,它们是像汉语、英语一样的抽象的语法规则,编程工具是指Visual C++ 6.0、Visual Basic 6.0、Delphi 7.0等包括了源代码编辑器、程序编译器在内的集成化、可视化的软件开发工具。C++源程序可以在Visual C++ 6.0里编写,也可以在记事本里编写,而同一个C++源程序可以用Visual C++ 6.0编译、执行,也可以用C++ Builder 5.0 编译、执行,所以: C++ 不等于 Visual C++ 6.0第二阶段:掌握一种编程工具
学习内容: 学习任意一种主流的编程工具。注意编程工具要和第一阶段学习的编程语言一致,例如你学习的编程语言是C++,那么编程工具要选Visual C++ 6.0或者C++ Builder 5.0。学习目标: 熟练掌握这种编程工具基本用法,例如:菜单、组件、程序跟踪调试、编写Windows程序等。学习时间: 3个月左右注意事项: 这个阶段侧重编程工具的使用,同时进一步熟习编程语言,最后达到能熟练编写各种基本的Windows程序。第三阶段:掌握“算法与数据结构”这门课程
学习内容: 算法与数据结构,推荐许卓群的《数据结构》,高等教育出版社出版。学习目标: 熟练掌握各种常用的算法与数据结构学习时间: 4个月左右注意事项: 这是一门不可或缺的软件开发课程,曾经有一本经典计算机专业书籍叫做《数据结构+算法=程序》,这说明了数据结构和算法的重要性。它能帮我们建立良好的程序分析与设计能力。第四阶段:实现一个模拟的小型软件项目
学习内容: 软件项目的开发过程学习目标: 掌握软件项目的基本开发过程和方法学习时间: 4个月左右注意事项: 自己完成一个模拟的小型软件项目,强烈推荐做一个MIS(管理信息系统)软件,参考用书推荐“中小型信息管理系统开发实例系列丛书”,人民邮电出版社,它的例子详实有效,以它为基础再加以扩展,就可以做出实用的MIS软件来。此丛书包括多种开发工具,大家可以选择适合自己的:《VISUAL FOXPRO6.0 数据库系统开发实例导航》 《java数据库系统开发实例导航》 《VISUAL BASIC数据库系统开发实例导航》《VISUAL C++6.0数据库系统开发实例导航》 《ASP.NET数据库管理系统开发实例导航》 《DELPHI数据库系统开发实例导航》《POWERBUILDER 8.0数据库系统开发实例导航》。最后:将完成的模拟软件刻成光盘,作为自己的作品去面试,以此踏上自己光辉的职业程序员之路!
工控小白第一弹:用Step7 编写S7-200程序
第一次听说PLC,是在10年前的六安,阿哥当时有一个工程,给几台纺织机做PLC连接显示产量、耗电等参数,当时是去外地请的专家过来,同为程序员的我,心里是十分不甘的。随着阿哥公司规模的越来越大,对PLC的使用也越来越频繁。阿哥于是去自学了PLC编程,身为程序员的我,脸上火辣辣的。于是,也报名学习了PLC的相关知识。到今天为止,初窥门径,特此记录一下。(其实家里还有仪表自动化的科班毕业的年轻人,我一直觉得他应该是家里技术的发动机,然而还是要靠我们两个老家伙自学成才,他最大的本事就是在关键时候不吱声、掉链子。特此吐槽一下)
阿哥借给我一个S7-200的西门子PLC硬件,CPU、存储器、电源、IO模块一应俱全。外观如下图所示:
首先,第一步,我们需要一台Windows电脑,在这里我选择了WIndows7 旗舰版。
然后我们需要一根数据线,用来连接电脑USB口和PLC的串口,数据线外观如下图所示,这种黄色的数据线大概20多块钱,号称是国产的二代数据线。虽然比不上西门子原装的数据线,但是实验用用也足够了。
有了硬件其实还是没用的,像我们这种老鸟,肯定知道还需要驱动程序。我们把USB插好以后,在设备管理器里面,明显看到一个黄色的惊叹号,这种情况下,肯定是不能用的,如下图所示:
安装驱动程序之前
安装完成第二代驱动程序以后,设备管理器里面看起来都OK了,如下图所示:
正在安装驱动程序
安装驱动程序之后
至此,硬件连接已经初步完成,当然后续的PLC的IO接线不在此次的讨论范围之中,下次有时间,再另起篇幅介绍这些。
接下来为了让这个PLC能工作起来,我们需要安装相关的软件,然后编写程序,最后把程序下载到PLC里面去,把它运行起来。这里我安装的Windows 7旗舰版,编程软件选用的是西门子Step7 4.0 SP9,如下图所示:
据说,这个版本比较旧了,有新的版本可以使用,不过这个软件是当时我们授课老师拷贝给我的,不需要破解啥的,装了就能用,对S7-200特别好用。
安装好软件以后,接下来就是对软件进行接口配置,这个是最重要的,关系到电脑是否可以顺利连接到PLC硬件,我们通过PG/PC接口进行设置,这里我们选择PC/PPI cable(PPI)选项,如下图所示:
选择完成以后,通过点击属性按钮,进行进一步的设置,选择对应的端口号,也就是刚才我们在设备管理器里面看到的电脑上的端口号:COM3。这里一定不能选错,选错就会连接不上的,切记。
选择完成以后,我们就可以尝试跟PLC进行通信测试。在通信对话框双击刷新按钮,等一会儿就可以找到PLC的具体型号,这样就表示连接成功了。
值得一提的是,因为使用的不是西门子正版的数据线,有的时候会显示UNKNOWN,然而并不影响使用,多刷新几次也会显示正常。
我们注意到,左侧界面上有一些关于PLC的参数,比如PLC远程地址,波特率等等,其实这些参数也可以在Step7的系统块里进行设置,如下图所示:
到此为止,所有的设置工作都已经顺利完成,我们可以进行愉快的Step7的梯形图编程,我们这里简单做一个起保停程序,所谓的起保停,指的是,按下启动按钮,开始启动,松开按钮,可以继续运行,按下停止按钮,程序结束运行。最简单的实例就是开灯关灯程序,按下绿色按钮,灯亮,按下红色按钮,灯灭。程序很简单,如图所示:
写完程序以后,点击下载按钮,把程序下载到PLC里面,如下图所示:
最后,通过程序状态监控,我们可以看到,程序一切正常,如下图所示:
至此,我们完成了S7-200 PLC的最简单的操作,通过按钮来控制PLC动作。
后续,我们希望在PC上也能操作PLC,或者在触摸屏上也能操作。
相关问答
国内工业整机工控机怎么编程
[回答]工业计算机的软件系统和普通计算机不同。工业计算机的软件系统比较单一,主要实现某个特定的功能,而且由于工业计算机通常采用速度不是非常快的处理...
国内工控生产设备工控机怎么编程
[回答]对于商业级主板,往往只能提供4根到多5根的PCI插槽,其中受制于PCI规范,同时只能使用4根,而且基本对于PCI4的话,驱动能力有相当大的衰减,因此大多数...
国内ATX主板工控机怎么编程
[回答]由于华北工控与各家芯片厂商都有一个长期的战略伙伴关系,所以华北工控生产的工业主板可以达到一个长达5年的生命周期,部分产品可以达到10...工控机...
乐创点胶机的调试编程方法?
点胶机编程方式分为两种,一种是采用手持教导盒的方式进行编程控制出胶路径;一种是通过工控机进行编程控制出胶路径。任务加工界面有可输入选择的单点、直线、...
foxborodcs编程怎么学?-盖德问答-化工人互助问答社区
上海foxboro公司,这还不够明确吗?在奉贤,在他们那里培训用的就是虚拟机从上海foxboro那里拷贝个虚拟机,自己动手做做就基本了解了,当然真正的细节...
plc编程和上位机编程区别?
PLC编程和上位机编程是两种不同的编程方式,主要区别如下:1.设备类型:PLC编程是指对可编程逻辑控制器(PLC)进行编程,而上位机编程是指对上位机进行编程,上...
国内ARM平台产品工控机具体是怎么使用的?
[回答]为适应嵌入式分布处理结构和应用上网需求,面向21世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。针对外部联网要求,嵌入设备必需配有通信...
什么是工控机,工控机与个人计算机区别?
工控机(IndustrialPersonalComputer,IPC)即工业控制计算机,是一种采用总线结构,对生产过程及机电设备、工艺装备进行检测与控制的工具总称。工控机具有重...
西门子cp5711使用方法?
西门子CP5711是一款工业以太网通讯适配器,采用USB接口与PC机连接。使用方法如下:首先将CP5711插入PC机的USB接口,安装驱动程序和配置软件STEP7。然后,通过S...
帮个忙在线的大侠!问大家一下!东升服务好的工控机,工控机适...
[回答]之前有听我朋友说中山市石岐区宇丰电气配件商行挺好的,可以去他们公司官网了解过他们的产品宇丰运动控制就是伺服按要求走轨迹,比如这个轨迹可以是...