鸡啄米VS2010-MFC编程入门教程
鸡啄米的这套VS2010/MFC编程入门教程到此就全部完成了,虽然有些内容还未涉及到,但帮助大家进行VS2010/MFC的入门学习业已足够。以此教程的知识为基础,学习VS2010/MFC较为深入的内容已非难事。作为本教程的最后一课,鸡啄米将对前面所讲内容进行目录归纳,并对这八个月加班加点的努力进行总结。vS2 DIO/MFC编程入门教程之目录和总结-敦一开发-鸡啄米每布课的写作耗时差不多都在两三个小时以上,有时侯甚全写到凌晨一点多。付出了很多,同样也收获了很多,最大的收获莫过于大家的肯定和支,很多朋友都韶言或者发郎件支持鸡啄米,这说明我的辛勤劳动没有白费,帮助了很多人,感谢那些一直以来支关注鸡啄米的朋友,也特别感谢那些在鸡啄米经常留言支持的读者除了大家的支持,鸡啄米自己也通过本教程的完成更深入的理解了的很多内容,提高了对的认认水平,尤其是更加巩了一些较少使用的知认。在帮人的同时也帮了自己很多朋友在鸡啄米留言或者给鸡啄米发电子邮件讨论问题,由时间确实比较少,晚上夏新文章,白天上班,所以只叵复了一部分,望大家见谅。学会了编程,很多人就开始喜欢硏究了,但是提醒大家不要忘了根本,即谙言。从《鸡啄米编程入门系列》和《编程入门教程》这套学习教程的受欢迎程度,鸡啄米感觉大家有些忽规的学习,更喜欢应用性强的在你能熟练使用后,最好再认真学学,提高水平才能真正亡你的编程功力上一个台阶。以后鸡啄米会铼续分亨各种编程知识,还会编写一些教程,希曌人家能一如既往约关注鸡啄米网站,支持鸡啄米!格力高百力漆清风原木纯品系列了!这一耙已有微虾味)*1盒3层谜你纸手帕“10包已D体被害送出兔费领』兔费领推您可能也喜欢:日分2编程入门编稈入编稈入编程入编程入之三应用门之三十九(文档、门之十三(常门之刀十六常门之一五(对话框程序工程中文件的组视图和框架:概述)用类类月类异常处一股属性页对话框的成结构)创建及显示)除非特别注明,鸡啄兴文章均为原创转载请标明本文地止作着鸡啄米分类软件开发浏览评论上一篇:互联网的轻时代已成为趋势下一篇:最全面详细的评测相关文章编程入门之五十四界Ⅲ开发:使用更多空件并为控科添加消息欠理凶数)编程入门之五|三(界面开发:为添加控件)编程入门之开十二(界Ⅲ开发:创建样式的应用程序框架)编程入门之五十一(图形图像:对象之画刷编程入门之五十(图形图像:对象之画笔编程入门之四|元(图形图像:类及其屏暮绘图函数)编程入门之四十八(字体朴文本输出:文输出)编程入门之四十七(字体和文本输出:字体类)编程入门之四十六(常用类:异常处理)http://www.jizhuomi.com/software/257.tml[2013,969:48:41]vS2 DIO/MFC编程入门教程之目录和总结-敦一开发-鸡啄米编程入门之四十五(常用类文件操作类)楼我的名字叫麒我一直自学编程,觉得它比别的都好回复该留言楼愚人笔记希望还有下一个系列面世66鸡啄米于回复嗯,会有的,呵呵回复该留言楼蛉啊了非常感谢!继续加油!回复该留言偻楼主好热心好感动啊写了这么多而且写的非常详细!!再次谢谢你们。。虽然今天查百度无意间点到这里的,不过攸货确实好多,记住鸡啄米了哈!!!。。祝你们网站越来越火哈,,以后我会经常来你们网站的哈哈≤6鸡啄米于回复志同道合的朋友越来越多了回复该留言楼学土之爱楼主了不起啊回复该留言楼求助救助:按你第课制作的计算器,我加入了一个减法功能,里面参数如下初始时刻三个变量对立的都是,我需要他们为空也就是什么都没有还有就是输入数据后或没入数据而按时程序会自动结束,改怎么办?≤鸡啄米于回复变量是存到内存中的,它是不可能为空的,即使你没有赋初值,它也会有初值。按回车退出一般是因为默认按紐是,取消默认按钮或者把中的注掉就行了求助于回复谢谢老师,问题我已经解决了回复该留言楼李志红博客反正不懂这个,米看看。回复该留言http://www.jizhuomi.com/software/257.tml[2013,969:48:41]vS2 DIO/MFC编程入门教程之目录和总结-敦一开发-鸡啄米楼点点滴滴写得非常好,加油回复该留言楼欲取消子节点缩进您好,米哥,我想取消子节点与父节点的缩进,请问应该如何做啊!谢谢啊由鸡啄米于最后编辑回复该留言楼迷哎呀不得了,最近车学回复该留言写的真的非常详细,非常好!!!!怒赞于回复喽主虽是写技术博客,可惜一点讨论的氛围都没有,都是一些菜鸟在这淫须马,博客的板式中也只有喜欢和推两^能,连反对的机会都不给,可见作者多么自恋和自大。让人匪所思!写博客不是为了技术探讨,这种浅尝揶止的文章不如不看!写出来的东西也是玩具,实际立用中很容易腐烂。回复该留言第一次发现这个好东西,顶起,写得真好。回复该留言楼楼主好热心力能的热心楼主啊!!里加入控件怎么加啊????百度半大了也摆不到66喽主好热心于回复楼主快出现呀6鸡啄米于回复,日前还没用过控件,建议再搜索下,网上应该有相关资料回复该留言楼我考研的目的有点像博主,但我是因为自已出太真心没实力的说。。学的不是亡算机,本科也是浑浑噩噩的过去,化了点时间去考研,刚第一个学期,日子依旧浑浑噩噩的,因为要上程序课偶然发现这个对站。。看了博工一番感概,觉得自己确实要给自己一^定位一个方叵,但是我这专业有时候确实让人很迷茫。。。而且现在做什么都克制不住白三可以花上一天的时间看美剧。。。ε最近一直在想我到底该怎么做是好鸡啄米于回复想做什么一定要下决心,尤其是学生阶段,不要到找工作的时侯再着急回复该留言最近在学习很高兴能参照着博主的资料,一步一步一点点的学习下去。对于一个白来说是很好的入门学习材料。希望自己能在本门底将搞定,吼吼。再次感谢博主!!!http://www.jizhuomi.com/software/257.tml[2013,969:48:41]vS2 DIO/MFC编程入门教程之目录和总结-敦一开发-鸡啄米《鸡啄米于回复别急,步来,柞信看完我的教程:你入门没有问题回复该留言楼米哥,可有打算扩允教程,加个动态链接库编程什么的冫求指导啊,同忐们可是翘首以盼那6鸡啄米于回复这个后面会考愿回复该留言楼路过支持一下!6鸡啄米于回复谢谢攴持.欢迎常来逛逛回复该留言楼支持楼主辛苫了,写的很不错,是我们项目老大推荐给我看的,我是才入手,看了很有帮助,期待后续还有更好的。鸡啄米于回复谢谢你的支持,也谢谢你们老大。欢迎常米交流。回复该留言楼分享奉献让这个世界更好。感谢博主《鸡啄米于回复妇果有这和想法的人多了,那我们都能提高很快回复该留言楼蛋蛋蛋我不是程序员,但是在跟老师做目时经常要编写或调试一些程序。每当遇到不明白的就先来看看这里有没有介绍。博主的博客写的精炼,用最通俗的语言把和中一些特性的最主要内容介绍出来,让读者省时省力的同时,又能理解这些特生的灵龙去脉,即思想和用法。希望博主的博客开的长久,有需要还会经常来的≤6鸡啄米丁回复我就是希望能这样帮助大家,有东匹需要了解就到这里末查查大家也可以给我投稿,跟众多网友分享自已的看法和经验等。回复该留言你写的文章我都能把实例做出,但是对事件处理的每句语句的意思就不明白了,让自己写肯定也写不出兴。怎么办呀求指教?6鸡啄米于回复http://www.jizhuomi.com/software/257.tml[2013,969:48:41]vS2 DIO/MFC编程入门教程之目录和总结-敦一开发-鸡啄米多看几遍:自已多写写,最后一定会明白的回复该留言楼穷者独善其身,达者兼济大卜!楼主是一个脱离了低级趣味的好人!≤鸡啄米于回复谢谢,只是想大家分享些已经掌握的知识回复该留言兴哥,我已经把你的教程从第一篇看到这篇了(),收获很夭,希堊博主在写个数据库编程的。。。。回复该留言楼我的名字叫麒攸藏了,博主你千万别删除啊!回复该留言很有帮助,请问一下哈就是我如果创建了多个对正框,在一个对话框中点击按钮如何调用另一^对话框并且之前的对话框不消失?还有就是除了主对话框,其他对话框中的函数在那里改呢?谢谢!祝越办越好6鸡啄米于回复第一个叫颙,在对话柞的单击消息响应函数口,构造另一个对话枉的对象,然后调用成员函数,就可以了。第二个问题,其他对话框在使用前肯定要为其创建类,在对话框类中修改函数回复常感谢您的解答,又遇到一个问题,就是我添加了一个空间(在另一个对话框中)添加控制变量为在其中添加了成员函数为什么运行后,程序崩溃了?回复该留言楼简搜百科谢谢真的!辛苫了回复该留言我是住新建对话框的类中添加了一个成员函数如果是在主对话框中控件是可以添加字符的,为什么呢?谢啦回复该留言http://www.jizhuomi.com/software/257.tml[2013,969:48:41]vS2 DIO/MFC编程入门教程之目录和总结-敦一开发-鸡啄米能不能出一个美化界面的专题,比如怎么设置背景图突啊,之类的,谢谢拉66鸡啄米于回复不错的要求,先记下,有会为大家奉上回复该留博主,请冋一个叫颗哈,很感谢。我要做一个地图染色的程序,用种子填充法染色速度很慢,一个像素一个像素地染,有没有能很快填充整个区域的函数?谢谢!回复该留言楼读研期间要用,米哥这两套教程卡常好,感谢楼主并支持6鸡啄米于回复研究生阶段学的不少,望能给别人推荐下鸡啄米,在此谢远!回复该留言很不错的东西攴持博主学了一年多的编程了一直都是用命令行看到那个罴框框都要吐了看刭终于能做可视化的界面很激动呢鸡啄米于回复程序员还是很需要成就感的回复该留言楼新世纪娱乐减回复该留言今天偶然搜索到这个博客,好多我正好需要的东西。学了|几课,真的很有月。万分感谢。k鸡啄米于回复希望能常来,可能还会有你需要的东西哦,叫呵回复该留言非常感谢博主无私奉献的精神,我是看这个系列入门的!6鸡啄米于回复很高兴能帮你入门回复该留言http://www.jizhuomi.com/software/257.tml[2013,969:48:41]vS2 DIO/MFC编程入门教程之目录和总结-敦一开发-鸡啄米写得不铓,简单易懂,受用。要是再讲个网络编程和多线程的话,然后把前面的界面编程糅合起来讲个小小的一边聊天一边传输文件功能的案例就完关了。回复该留言楼要是那个案例里能捫聊犬派汞进数据库就更奷了,数据车叮以用嵌入式数据库,这个数据库很轻的,只需要在项匚中加入几个库文件就行了。回复该留言楼油烟机什么牌了好很不错啊博主继续加油k6鸡啄米于回复起加油回复该留言楼我的名字叫麒楼主好人啊!你可千万别删,我一直在学习6鸡啄米于回复不会删的,呵呵,欢逛常来学习回复该留言楼已纤顺利完成编程入门教程的全部内窣(当然个别暂时用不到的就掠过了)。冉次感谢作老完成这样非常适合学者的教程!≤鸡啄米于回复不用谢,以后常来逛逛啊回复该留鸡啄米先生;您的,文章使我受益匪浅,真诚的感谢你回复该留言楼我的名字叫麒博主,我实在搞不懂这些,看了很久了,连白学都不行,你看这样行不行?你给我培训,开价吧!46鸡啄米于回复那就从最基础的学起呵呵,如果有几个像你这样需求的朋友,看来我可以开培训班了。。回复该留言楼我的名字叫麒博主救我!我电脑里软伫管家现实,编程开发一栏里有个东西,请你带我删除一批。详细看这里≤6鸡啄米于回复你装的版本大多了,有和,可以卸毂两个,剩个就可以http://www.jizhuomi.com/software/257.tml[2013,969:48:41]vS2 DIO/MFC编程入门教程之目录和总结-敦一开发-鸡啄米回复该留言楼室内设计博客难刚起步,学学回复该留言楼诩谢!辛苦了。鸡啄米老师6鸡啄米于回复不用客气,欢迎常来回复该留言楼水上之舟每次不记得该如何操作,就会跑这来看看,真心很感谢回复该留琢米老师!想用同时绘制三个坐标图,点已经有了,还是不是很会弄,可以指点指点吗?回复该留言琢米老师是个妤老师啊,一直在跟着啄米老师走、觉着老师讲的非常容易理解,刚看完了的教程,现在打算开始学了,希望以后能和老师学到更多东西,提高自己!鸡啄米于回复先学再学记得回头再看看,呵呵回复该留言楼这篇文档介绍详细,对于我们这些刚入门的有极大作用,谢谢米哥回复该留言非常感谢前辈这个是我看过的最好的教程了,比我车图书馆里翻过的那些大部头教材好多了全部做下来感觉自己对很有自信了表小再也不用控制台了6鸡啄米于回复谢谢肯定,欢迎常来啊回复该留言楼多谢多谢写的非常好,果断多谢多谢回复该留言老师,你好:我想问下你的教稈有没有出书啊?我想买书看,不上网的时候也可以学习看下,谢谢鸡啄米于回复抱歉,没有出书,匚前只能在这里看http://www.jizhuomi.com/software/257.tml[2013,969:48:41]
- 2020-12-08下载
- 积分:1
AB PLC 与modbus 通信
AB PLC 与modbus 通信AB PLC 与modbus 通信AB PLC 与modbus 通信AB PLC 与modbus 通信www.PlcwoRld.cnu变频器触摸屏伺服启动气出程102Sepam2000与远程监控系统之间的通信是采用 MODBUS协议的通信方式MODBUS的通信采用的是一种主/从式数据传输,在主从结构的通信方式中有一台主机,多台从机,主机可与各个从机作双向通信,而各从机之间不能通信。主机与各个从机通信的报文形式为请求/响应帧方式。每次通信均由主机发起,不需握手。主机发出请求帧后,等待从机返回响应帧直至响应时间超时。从机只能通过提供数据响应主机的请求,或根据请求做出相应的动作。MODBUS协议定义了主札请求的格式,包括:请求的编址,要求动作的功能码,传输数据和错误校验等。请求中的编址(即地址码)提供接收主机报文霉的从机地址,从机根据地址判别是否接受该请求,用户必须设置每台从机的地址。功能编码告诉指定编址的从机完成什么样的动作。数据字段屮包含了从机执行任务时所需的附加信息。例如,功能编码03表示读取从机的保持寄存器并w毁w.91{κ其中的内容,数据区中的信息就益领诉从机从哪个寄存器开始读,需要读的寄冇器数。错淏校验字段为从杋提供了信息完整性校验的方法。同样,响N→oomo应的格式也是采用 MODBUS协议结构,从杋响应的功能编码与接受的请求的功能编码相对应,数据字段包含根据请求返回的数据,错误校验字段允许主机确认信息内容是合有效。MODBUS协议共有24种功能编码,但是并不都适用于 Sepam2000,实际应用中Sepam2000只是支持下面有限的几种:01读取输出状态02读取输入状态03读取内部寄存器内容04读取输入寄存器内容05强制单个输出状态第3页共10页www.PlcwoRld.cnu变频器触摸屏伺服启动气出程10206刷新单个寄存器内容07读取异常事件状态08诊断测试11读取计数器和状态字15强制多个输出状态16刷新多个寄存器内容如果主机希望读取2号 Sepam2000从机中寄存器0805h-080Ah的内容,则需要调用功能03。主机请求和从机响应的帧格式如下:请求帧地址功能号数据起始寄存器编址寄存器数目错误校验字段030C0506CRC16w3M9HMo应帧:WwW PLCworld cn字节数据寄存器数据寄存器错误校地址功能号计数(0805)(080A)验字段03OCDatalData6CRC16而如果主机希望刷新2号 Sepam2000从机中寄存器0810h的内容并把寄存器内容设置为1000,则需要调用功能06。主机请求和从机响应的帧格式如下:请求帧:地址功能号寄存器编址设置值错误校验字段06OCOE1000CRC16响应帧:(返回收到的请求帧)地址功能号寄存器编址设置值错误校验字段06OCOE1000CRC16第4页共10页www.PlcwoRld.cnPC变频器触挾屏伺服镦启动電气里程-1521Sepam2000的帧格式以及所执行的功能都有明确的定义,不能随意更改。在通信过程中,要确保主机和各从机的对应关系正确。此外,用户可以根据实际需要配置合适的传输波特率、宁符奇偶校验、停止位的个数等通信参数设置。四. AB PLC中 MODBUS协议的实现1.MCM模块的通信控制PROSOFT TECHNOL0GY公司的3100/3150-MOM通信模块,相当于网络接冂,PLC通过MoM模块与 MODBUS总线相连。MOM模块能快速、可靠地在 AB PLC中实现 MODBUS协议。3100/♂315σ0-MM通信模块可供用户选择使用主机模式或者从机模式。当MCM模块设定为主机,它对连接到总线上的从机进行控制,支持 MODBUS协议屮(01、02、03、04、05、06、15、16)8种功能编码,可以发送多达一百条定制的请求WM91H样am并支持以“广播”方式发出请求盖MCM模块指定为从机,它响应主机§的请求,此时能够支持 MODBUS协议中(01、02、03、04、05、06、08、15、16)9种功能编码。同时,无论是主机模式或者是从机模式,3100/3150MCM通信模趴都支持 ASCII和RTU两种传输模式当 AB PLC配置了3100/3150-MCM通信模块作为主机模式时,PLC采用周期扫描方式,按请求指令的顺序与从机交换数据。每次扫描期间,处理器使用逻辑写指令将主机内存中要输出到各从机的数据传送到3100/3150-MM通信模块屮的发送缓冲区,模块根据存储的功能指令,发送到指定的从机;而各从机响应后返回的数据,3100/3150-ⅦOM通信模块将其先存放在接收缓冲区,然后PLC使用逻辑读指令把数据移入相应的输入数据存储区。周而复始,使主机与从机中的数据得到周期性的刷新。整个数据流程如图2所示:第5页共10页www.PlcwoRld.cnu变频器触摸屏伺服启动气出程102PLC内存PLC指令MCM缓冲MCMMODBUS模式设备数据读数据:-(从机主机推令一(写)指令一主二一从参数参数配置配置图2MCM模块数据流程示意图2.MCM模块与 MODBUS的硬件连接MCM模块使用的是与RS232C兼容的标准通讯接口,但在实际应用中由于要实w{M.91耙通信,所以采用RS485方式。图3是3150-MCM模块9芯串行口与 MODBUS 8的连接图3150-MCMMODBUSTxRxD+ 9TxRxDTxRxDTxRXDRTS 7G№D5GND图33150MCM端口与 MODEUS连接示意图3.MM模块的缓冲区管理PLC与MM模块之间是通过模块输入、输出映像文件进行数据传送。PLC与数据时,将数据写入输出映像文件,然后3100/3150-MM通信模块把数据映射第6页共10页www.PlcwoRld.cnu变频器触摸屏伺服启动气出程102到相应的缓冲区位置上;PLC读数据时,根据映射地址,从输入映像文件屮读取模块缓冲区中对应地址的数据。映像文件的数据传送单位为一个50字节的数据块,PLC必须循环地一次传送一个数据块。MCM把缓冲区按数据传送的单位大小,分为若干个块,并一一标号,用块号对应起来,并且划分为三个区,分别用于数据、指令、参数设置。数据存储区从0块号开始,结束于79块号,中间有4000个字节的空间,用于存储接收的数据和发送的数据,是主札、从札交换数据的场所;指令存储区从第80块至第99块,共1000°个字节,用于存储主机模式下,模块的功能指令表,每次扫描,顺序按功能指令列表向从机发出请求帧:第25块号前40个字节则专门定义为模块设置参数存储区,用于初始化模块。在通信过程中,首先要对主机进行初始化,即对第255块号对应的缓冲区ww.91{进行参数配置,主要是定义通信端舶设置,模块缓冲区的详细划分。设置的有以下参数:N→oomo定义MCM通信模块两个独立的通讯接口设置。包括:选择主机模式或者从机模式、定义字符奇偶校验、停止位的个数,传输的波特率,响应延时等参数。〈2〉定义模块的缓冲区中冇储接收数据的数据冇储区。包括:接收数据存储区的起始块号,存储区的连续块数。③3〉定乂模块的缓洲区屮存储发送数据的数据存储区。包括:发送数据存储区的起始块号,存储区的连续块数。〈4〉定义模块的缓冲区中指令存储区。由于指令储区固定从80号数据块开始,所以只需指定存储区的块数。4.MCM模块的功能指令设置第7页共10页www.PlcwoRld.cnPC变频器触挾屏伺服镦启动電气里程-1521MCM模块处于主机模式下时,功能指令列表存放在模块缓区屮的指令存储区。主机向从札发出请求时,模块从指令存储区逐条读出功能指令,并按照MODBUS请求帧格式发送数据。指令存储区中每条功能指令的具体内容如下:1模块通信端口选择2从机的站地址。从机在接收数据时将本站编址的值与收到的站地址比较,以此判定信息是否是发给木站的。而主机在接收压则将收到的站地址与发送的站地址比较,以判断是否是正确的从机响应3指令的功能编码4源地址。即主机要发送或接收的数据在缓冲区中的起始数据地Wbn.91Hmi.com-Itwww.plcworld.Cn5数据长度。即主机要发送或接收的数据的字节数6目的地址。即从机要接收或响应的数据的寄存器地址数据的类型。用于标示读、写的数据是双字节的浮点数还是单字节的整数8轮询时间如果主机希望在1号通讯接冂读取2号 Sepam2000从机中寄存器0805h-080Ah的内容并存放到模块缓冲区第50个字节开始的连续6个字节中,功能指令内容如下:从机功能数据端口号源地址目的地址类型时间地址编码长度506080500第8页共10页www.PlcwoRld.cnu变频器触摸屏伺服启动气出程1025. AB PLC通讯程序的开发程序执行时,在第一个扫描周期,都必须设置MCM的状态,即初始化MM模块。通信程序屮,PLC在输入、输出映像文件屮为MCM缓冲区设置当前以及后续读写指针,分别指向当前MCM缓冲区数据块号,后续缓冲区数据块号。若MCM处于数据传送允许状态,即I1:1/0=1,00:1/0=0时,PLC判别当前读写指针,调用相应读写逻辑指令。如果指针指向接收数据的数据冇储区,则PC从jCM模块中接收数据:如果指针指向发送数据的数据存储区,则PLC向MCM模块发送数据;如果指针指向指令存储区,则PLC向MM模块传送功能指令,每次执行一个数据块的传送,并在传送后,把后续读写指针覆盖当前读与指针,w毁w91{M恧砟下个扫描周期进行下一个数据块的传送。PLC自动周期性扫描,按照编定的功能指令向从机的输入/输出数据进行发送/接收,以满足数据传输的要求。根据PLC的逻辑指令及MCM的通信原理,画出了图4所示的主机通信程序结构框图开始首次扫描时MCM初始化百传送允许?>是∈向接收数据区读数据指令一向发送数据区?>据[写数据指令是指向指令区?与功能指更改读写指针图4PLC程序框图第9页共10页www.PlcwoRld.cnPC变频器触挾屏伺服镦启动電气里程-1521五.结束语经过现场调试,实现了1台 AB PLC与13台 SEPAM2000组成的 MODBUS网络连接。实际应用证明,这种方式组成的系统结构简单,应用方便,能满足复杂的控制需要。参考文献3100/3150 MCM USER Manual, Pro Soft Tcchnology, 1997吵一2 AB PLC Programming Reference Manual, AB, 19973 Sepam2000 Communication protocol, Schneider, 1999W点M91HM|comWwW PLCworld cnN→oomo第10页共10页
- 2020-11-05下载
- 积分:1