- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
源码导读
SPC3源码导读(一)
信息技术的飞速发展导致了自动化领域的深刻变革,并逐步形成了网络化的、全开放式的自动控制体系结构,而现场总线正是这场深刻变革中最核心的技术。
现场总线是综合运用微处理技术、网络技术、通信技术和自动控制技术的产物。它把专用微处理器置入现场自控设备和测量仪表,使他们具有了数字计算和数字通信的能力,成为能独立承担某些控制、通信任务的网络节点。这一方面提高了信号的测量、控制和传输精度,同时为丰富控制信息的内容、实现其远程传送创造了条件。
现场总线技术始于1984年,美国仪表协会(ISA)下属的标准与实施工作组中的ISA/SP50开始制定现场总线标准;1985年,国际电工委员会决定由 Proway Working Group负责现场总线体系结构与标准的研究制定工作;1986年,德国开始制定过程现场总线(Process Fieldbus)标准,简称Profibus,由此拉开了现场总线标准制定及其产品开发的序幕。目前,国际上影响较大的现场总线有40多种,其中被IEC61158国际标准认可的有8种,其中比较典型的几种总线为 CAN、LonWorks、FF、DeviceNet、Profibus。
profibus作为工业界最具代表性的现场总线技术,应用领域非常广泛,它既用于工业自动化中离散加工过程的应用,也适用于流程自动化中连续和批处理过程的应用,而且随着技术的不断进步,其应用领域呈现出进一步扩大之势。
因此本文探讨了profibus总线中的一个重要环节——从站的实现。profibus是开放的、与制造商无关的、无知识产权保护的标准,因此,世界上任何人都可以获得这个标准并设计各自的软硬件解决方案。原则上,profibus协议在任何微处理器上都可以实现,在微处理器内部或者外部安装通用异步串口通信接口(UART)即可完成。基于上述特点,在开发profibus-dp从站时有两种方案:
1.单片机+软件
在这种方案中,profibus-dp的数据链路层协议通过软件在单片机上实现,同时单片机还实现一些用户程序,物理层通信由异步串行通信接口完成。这种方案的优点是开发成本较低,缺点是需要开发人员透彻了解profibus技术细节,因此,开发周期长,而且波特率不能做到1.5Mb/s以上。
2.单片机+profibus通信ASIC
在这种方案中,profibus-dp协议完全有profibus通信ASIC来实现,单片机主要处理用户程序。利用这种方案实现profibus-dp从站的开发,只要开发者了解profibus协议相关内容,特别是基本概念、基本术语,以及ASIC芯片的技术内容即可,因此,采用这种方案开发所需的时间要比第一种方案少很多。
鉴于上述两种方案的比较,综合考虑到开发周期及成本,这里主要介绍单片机+profibus通信ASIC来实现profibus-dp从站的实现。
西门子提供了完整的协议芯片及开发包,这里采用的ASIC是SPC3作为profibus-dp从站协议芯片,微处理器选用的是STC-89C52,硬件电路已经比较成素,参考SPC3的技术手册即可,用户可以根据需要扩展其他的功能,关键是硬件电路板的设计。
在这里主要讨论软件的设计流程,本文所参考的程序是西门子公司提供的源码包。
下面就程序中的关键部分作出详细的说明:
(一)初始化
1、系统上电复位;
2、设置中断优先级,关闭中断;
3、将spc3双口RAM区域15H后的单元清0;
4、设置SPC3的 IMR 寄存器,屏蔽相关的中断;
5、设置SPC3看门狗初始值;
6、将从站地址、从站Ident_number存入变量中供spc3初始化的时候使用,本次设计为不允许修改从站地址;
7、调用spc3初始化函数,设置各个寄存器;
8、初始化完成后启动spc3,并打开中断,spc3开始工作;
(二)执行for()循环,在循环中轮询处理输入数据、输出数据及设置诊断参数
1、读取spc3看门狗 和 DP 状态;
2、喂狗;
3、查询是否有输出数据,如果有的话则读取next_dout_buffer_cmd寄存器交换N和U,并取得交换后U缓冲区的指针,然后将输出数据写入规定的地方,源码中是一篇I/O区域;
4、将I/O区域的数据写入到 输入-U 中,并读取new_din_buffer_cmd寄存器交换N和U,并获取交换后U的指针,加入输入数据有更新的话,则SPC3交换N和D并将数据发送出去,否则不作任何处理;
5、处理外
您可能关注的文档
最近下载
- AP宏观经济学 2012年真题 (选择题+问答题) AP Macroeconomics 2012 Released Exam and Answers (MCQ+FRQ).pdf VIP
- 浙科版《综合实践活动》五下 第五课 活动A、我当小法官—走进法庭教案.doc
- 8.1 认识生命 课件-2024-2025学年统编版道德与法治七年级 上册 ).pptx VIP
- 化工制图教学设计(全套).docx VIP
- 2024-2030年中国氦(液氦和气态氦)行业市场发展趋势与前景展望战略分析报告.docx
- AP宏观经济学(2013年真题)全套含选择题.pdf VIP
- 自考00537中国现代文学史重点知识点汇总速记宝典.pdf
- 建积分之术筑工程之技:定积分及其应用教学实施报告.pdf
- AP宏观经济学(2015年真题)全套含选择题.pdf VIP
- 英语--倒装句讲解..ppt VIP
文档评论(0)