OFDM_matlab源程序总结(精选12篇)
OFDM_matlab源程序总结 篇1
Strcmp的用法
原型:extern int strcmp(const char *s1,const char * s2);
用法:#include
功能:比较字符串s1和s2。
说明:
当s1 当s1=s2时,返回值=0 当s1>s2时,返回值>0 即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'为止。如: “A”<“B” “a”>“A” “computer”>“compare” 特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。编辑本段应用举例 举例1:(在VC6.0中运行通过)#include char str1[20]={“i love ”}; char str2[20]={“zftd”}; printf(“%sn”,strcpy(str1,str2));} 输出的是“zftd”还是“zftdve ”? 也就是说strcpy是替换全部的str1,还是将str2复制到str1的前几个(str1占10字节,str2占5字节,输出是str2还是str2和str1的后5字节);strcpy之前,str1[]=“i love ”strcpy后, 复制过来5个字节,“zftd”和结尾的'共5个字节.于是变成str1[]=“zftde ”输出的时候,遇'字符截断,于是只输出“zftd” 例2 定义一个字符串char a[20],和一个字符串c[]=“i am a teacher!”;把c复制到a中就可以这样用:strcpy(a,c);这个函数包含在头文件 关键词:测量程序设计与应用,课程教学模式,综合改革 在综合改革试点之前, 我院上机类课程在加强网络自主学习的同时, 逐步形成了“课堂讲授+上机练习”的课程教学模式的实践模型。列为综合改革试点专业之后, 我院又积极探索并不断完善适合本土特色的教学模式, 提出了“学生主动课堂, 多元互动, 立体评价”的课程教学模式。该教学模式具有较强的可操作性, 但教学环节较多。[1]由于学生水平不一的特点, 若要求每位学生都不折不扣地完成上述各教学环节的学习是不现实的。因此, 在上述教学模式的指导下, 应结合具体课程的特点, 设计相应的课程教学模式的实践模型。笔者结合教育课程“测量程序设计与应用”的教学模式改革进行了具体实践, 根据该课程的特点, 将学生分为两类进行管理和评价, 并强化课程上机考试这一教学环节。三年教学实践证明, 该模型的教学实践取得了良好的效果。现将该课程教学模式改革经验总结如下。 一、课程教学模式 “测量程序设计与应用”是测绘工程专业必修的一门课程, 该课程是后续课程, 如C语言、数据结构、计算机网络等课程的后续课程。对该课程教学模式的改革主要以“学生主动课堂, 多元互动, 立体评价”的课程教学模式的基本框架为指导。1.该课堂以学生自主学习为主, 教师为辅。教师在整个教学的过程中起引导作用, 因此在第一节课着重介绍课程的基本要求和多种媒体资源情况, 制订适合学生自身特点的课程学习计划。在后续的教学过程中教师主要是对教材进行梳理, 指导学生把握教材难点和重点, 部分作业由学生上讲台实操、展示, 从而改变以往学生被动学习的教学模式。2.构建师生之间、学生兴趣小组等平台之间的互动, 从而实现“多元交互”。充分利用网络平台进行实时答疑、在线讨论。3.教学评价从学生学习效果评价、教师教学效果评价和对教学资源的应用评价三个方面进行“立体评价”。[1] 二、教学模式的实践与探索 “测量程序设计与应用”这门课程是理论与实践相结合的一门应用课程, 在以往的教学过程中, 发现不少学生在不理解课程内容的情况下也能进行上机实验, 而当上机出现错误时, 学生就变得手足无措。因此本课程的重点在于首先让学生理解课程的基本概念和知识点, 然后在上机的过程中逐步消化所学的东西, 从而达到从理论到实践应用的目的。在具体实践过程中, 着重抓了两个方面的教学工作: (1) 根据学生学习能力的不同将学生分成两类, 对其进行因材施教, 如对学习能力较强的学生提供课堂展示机会, 从而引导不同类的学生完成相应的教学环节; (2) 严格要求上机实验考试, 对考试内容、考核方法做了探索改革。在2012级以前的学生均是采用VB测量程序设计教材。从2013级 (2015年下学期) 开始, 考虑到测绘工程专业已经开设了C语言、数据结构 (C语言版) 等课程, 选用了新的卓越工程师的教材VC.NET测绘程序设计教材。对考核方法作了较大改革: (1) 加大了课程考核中该环节的比例; (2) 加大了考核内容的综合性, 考核内容基本上涵盖了课程中的重点难点; (3) 提前发布考试题目, 让学生在考前可以更有针对性地进行复习; (4) 进行考前辅导, 学生拿到题目后, 针对难点进行一次专门的辅导。改革之后, 发现学生对该课程的学习积极性有了明显提高, 学生对零散的知识点有了较好地理解, 部分学生能对书本上的知识点进行综合应用, 达到学以致用的效果。[2,3] 三、教学效果分析 为了确保课程教学改革的有效性, 2014年下学期, 我分别就学生对课程教学实践模型、课程总体效果、课程上机考核改革的满意度进行调查, 结果如图1所示。 从图上可以看到, 81%的学生对这种课程教学实践模型表示满意, 认为该方案不仅课程资源丰富, 同时体现了以学生为主体的“个别化自主学习”的教育理念, 充分尊重了学生的个体差异。82%的学生对课程总体效果评价表示满意。79%的学生对课程上机考核改革表示满意, 认为通过上机考核这一教学环节, 能够将课本上的重要知识点融会贯通, 起到了综合训练的考核要求。 结语 “测量程序设计与应用”是测绘工程专业必修的一门课程, 对该课程教学模式的改革主要以“学生主动课堂, 多元互动, 立体评价”的课程教学模式的基本框架为指导。在实践探索的过程中发现, 该课程具有知识点多、内容理解难度大和上机实践要求高的特点, 因此根据学生的特点将学生分成两类进行管理和评价, 同时对上机实验考试在考核中占的比例以及考核方式进行了改革, 极大地激发了学生的学习兴趣, 提高了学习效果。三年教学实践证明, 该模型的教学实践取得了良好的效果。 参考文献 [1]刘军华.基于网络环境下面向对象程序设计课程教学模式的探讨[J].长沙通信职业技术学院学报, 2009, 3 (8) :45-48. [2]张恒璟, 王崇倡, 王佩贤.以应用创新型人才培养为目标的“测量程序设计”教学改革研究[J].测绘通报, 2012 (6) :101-103. 【关键词】教学改革 过程化考核 C程序设计 【中图分类号】G71 【文献标识码】A 【文章编号】2095-3089(2016)05-0197-02 一、引言 《程序设计语言》是本院计算机专业基础课程,是学生进校接触的第一门语言类课程,同时也是我院其他课程的先修课,基于其基础性和重要性,结合学生对《程序设计语言》这门课程提出的意见,课题组对这门课程进行了一系列改革,如教师队伍的稳定、考核方案改革等,本文主要介绍的是考核方案的改革,即将传统考核模式改成过程化考核方式。 二、传统考核模式存在的问题 我院计算机专业《程序设计语言》在2015年以前采用的考核方式是传统考核模式,其具体方案为:平时成绩(出勤率和实验作业)占30%,期末成绩占70%。 对以上传统考核模式的进行分析后,可以看到此方案具有以下缺点: 1.考核内容片面 传统的考核模式采用笔试的方式,以理论考核为主,学生将学习的重心放在课程期末考核的重点上。导致学生会花费更多的时间与精力来记忆理论性知识,而忽略了技能的学习和应用。 2.评价体系单一 传统考核模式评价体系过于单一,以期末考试结果来定。统一的评价体系将导致部分学生无法通过考试,从而导致厌学情绪和旷课现象会更加严重。 3.考核不及时,忽视日常学习 我院C程序设计语言讲授内容主要分为顺序结构、分支结构、循环结构、数组、函数、指针、结构体、文件等八大部分,这些知识点以前只能通过期末考试来完成,因此无法全面及时反馈学生的各大知识点的学习效果。很多学生选择考前突击会导致学生对于平时的教学不重视,忽视日常学习的重要性。 三、过程化考核的具体方案 传统的考核方式带来的弊端不容忽视,为了改变这种现状,我院从2015年起对程序设计语言课程进行了考核方式改革,将期末考核成绩比重降低,加大平时的课堂交流互动及知识点测验的成绩比重。 将课程的成绩评定规范为:总成绩=平时综合成绩+分段测验平均成绩+期中考试成绩+期末考试成绩。 1.平时综合成绩 平时综合成绩占比20%,由学习表现和实验能力两大部分组成,其中学习表现占6%,实验能力占14%。学习表现由平时考勤及上课表现综合体现,实验能力通过实验课上的表现及所交作业的质量两大指标体现,其中所交作业包括12个实验的程序源代码及相应的实验报告。 2.分段测验平均成绩 分段测验平均成绩占比20%,分段测验平均成绩=分段测验的成绩/测验的次数。 根据程序设计语言课程的特点,将知识点进行整合,具体分为三大基本结构、数组、指针和结构体、函数和文件这四大知识模块。每个知识模块讲解结束后及时进行上机考核,考试完毕后由机器自动阅卷,得出分数。 3.期中考核成绩 期中考核成绩占比10%,采用上机考核方式,其考核方式与规则为随堂上机考核的方式进行,采用闭卷形式,不允许他人代操作,不允许拷贝他人考核内容,并当场交卷。 4.期末考试成绩 期末考试成绩占比50%。考虑到本次课程过程化考核为该门课程的首次改革,所以期末考试方式仍然采用传统考核方式,闭卷形式,试卷内容主要考察学生两种能力:读程序和编写程序的能力。 四、方案实施结果及分析 1.实施结果 《程序设计语言》课程实施过程化考核后,学生的成绩呈现正态分布,具体数据见图1。图2为2015年实施过程化考核方案后学生成绩的分布与实施该方案之前三年学生的对比情况。 2.数据分析及结论 根据以上两张图的数据进行分析可以得出以下结论: 第一,采用过程化考核方式与以往未实施过程化考核相比,没有明显降低学生的考试不及格率,说明无论采用何种考核方式对那些放弃学习的学生促动不大; 第二,采用过程化考核方式与以往未实施过程化考核相比,及格率略有增加; 第三,过程化考核方案增加了知识模块测验,给多数同学一种压力,促进了学生的学习动力。 五、总结 本文第四节部分所示数据并不理想,但是数据并不能完全说明情况。在实际授课过程中,过程化考核方案增加了学生的学习动力和热情。因此,我们将继续坚持过程化考核方案,并以此为中心,进行多元化教学改革。 参考文献: [1]戴蒙.上海应用技术学院《程序设计语言》教学大纲[Z],2015. 1、核名 首先填写公司的名称(自己起名字)预先核准申请书到工商办理窗口核名,核名后按照上面的时间领取核名通知书。 2、开验资户准备资料 (1)公司章程 (2)工商局的核名通知书 (3)法人名章(有的银行也要股东的,先去银行咨询一下) (4)身份证(所有出资人的) 开完后将所有股东的钱存入公司账户,存款单上一定要体现投资款,一定要体现所有股东的名字。去事务所拿银行询证函,将股东出资额写上,在银行盖章,找出流水,股东缴款单,去事务所办验资报告。 3、验资报告(从银行打完流水后,提供资料) (1)流水,股东缴款单 (2)询证函 (3)公司章程 (4)核名通知书 (5)房屋租赁合同 (6)房产证复印件 可提供复印件给事务所,然后出验资报告 4、公司递交资料(工商设立窗口)需准备资料 (1)工商局提供的各种表格(自己在济南红盾网上打印) A、党建表 B、设立登记表 C、计划生育保证书 D、承若书 E、委托书 (2)核名通知书 (3)公司章程 (4)房产证复印件(复印件上一定要本人签字) (5)房屋租赁合同的原件 (6)验资报告 (7)股东会决议 (8)出资人身份证原件及复印件 所有复印件协商与原件一致,有本人的签字,填设立登记表的时候,法人的身份是:执行董事兼经理,该写的日期要写上。 5、递交资料后6个工作日后去递交资料的窗口领取营业执照(拿领料单去) 6、领取完营业执照后去公安局备案,刻章 资料 (1)营业执照副本复印件 (2)法人身份证原件及复印件 (3)经办人身份证原件及复印件 7、刻公章,财务章(320元)资料: (1)备案表 8、刻完章办代码(130元)所需资料 (1)公章,法人章 (2)营业执照副本原件及复印件 (3)法人身份证原件及复印件 (4)经办人身份证原件和复印件 (5)验资报告复印件 (6)股东身份证原件及复印件 (7)办代码所需填的各种表格 9、办完代码办税务登记证(一般在解放阁)所需资料 (1)营业执照副本原件及复印件 (2)代码证副本原件及复印件 (3)章程复印件 (4)房屋租赁合同复印件 (5)房产证复印件 (6)验资报告原件及复印件 (7)法人身份证原件及复印件,复印件黏贴在税务登记表相应位置 (8)经办人的身份证原件及复印件 (9)填写税务登记表 (10)财务负责人身份证原件及复印件 所需资料都需要盖单位公章 10、办完税务登记证,验资户转基本户所需资料 (1)营业执照原件,副本原件 (2)税务登记证原件及副本原件 (3)代码证副本原件 (4)法人,股东,经办人身份证 (5)公章,法人章 个人总结 光标灵动地在屏幕上跳动,鼠标优雅地穿行其中,我轻轻按了一下回车后,我知道我们成功了C程序课题总算是快要结束了,看着我们做的程序也能有模有样地运行出一点结果,我感到非常欣慰,虽说程序有点不完善,但是能做到这一步我已经很高兴了,几天地努力真没白费。我们小组能走得这么远真心不容易啊,要知道当初组队地时候,同宿舍几个舍友都背叛我们投靠其他门下,留下我和姜孤苦伶仃两人,说真的那时候我真不想干了,怎么能这样啊,两个人去做一个系统程序可不是件轻松事,老师说光程序都要3000行,这可把我们吓坏了,3000行的程序什么概念啊,平时上课都是小打小闹,完成个十多行的小程序就了不起了,这次怎么一下子就做个这么大地呢。所以大家都唉声叹气,叫苦叫累的。即使不情愿那还能怎么着,叫你做还不是要照做。开始编程那两天,那可叫一个痛苦啊,不知道做什么课题,不知道怎么做,也不知道从哪做起,所以一直在课堂上沉睡。开着其他组都开始执行了,而我们什么也不知道做,我们这才开始着急了,于是我和姜赶紧想各总办法,各种百度,各种询问,各种借书。最终我们终于确定了我们组地课题,强大的兰博基尼信息查询系统。这也是基于我们对兰博基尼这类奢华车地迷恋,以及希望与众不同地小情绪。说干就干,细腻分工以后,我们都很快投入到了系统地制作上来了。话说,团结就是力量大,有什么问题,几个人一下子就解决了,我们的创作热情都很高,我看到一支钢铁团队正要诞生了。经过一天大的努力,我们地程序终于是有了个很好地封面了。下一步是程序地具体编写了,这也是最难地一步,我们团队在这一点上陷入了很大地困境,因为大家地水平有限,系统一些功能地实现要用到很多课外的东西,而我们脑子里的东西也就那么点,哎!书到用时方恨少啊。方法总是比问题多,这句话说得一点也没错,我们百度的百度,临阵磨枪看书的看书,问老师地问老师。终于把所有问题解决了。说真的,我们团队能有这样的结果我很满意了。当初老师说分散我们小组,把我们加入其他组去。我们四个人都没同意,我们虽然只有四个人,但是他们六个人能做的东西我们四个人照样可以做,老师,请不要质疑我们地实力。我们开心过,烦闷过,痛苦过,颓废过,努力过……历经千辛万苦,最后完成任务。经历了这次,我感觉收获了很多,我不想说太多地废话,我只想说,经历多了,你会把有些东西看得明明白白,现在没有地,以后会有的…… 一、 思想修养 作为一名程序员,要想完成工作的责任,首先必须具备程序员的工作素质,树立正确的世界观和人生观。在这项目中我认真参加各种学习和各种新文本的功能开发。有句成语是:只要功夫深,铁杵磨成针。是的,作为一名程序员,我在工作中无意中会考虑不周显得毛毛糙糙,不甚妥当。当意见、建议来临时,现在的我不再不悦,不再拒绝。而是以更高的要求来要求自己,努力告诫自己:换个角度静心仔细想想如何能的好一些。 二、 素质提升 在学习中我认真听取经验,仔细记录,并在下班后的空余时间认真思考推敲,有目的的在项目中进行一些尝试。如:spring中的事物管理机制配置有三种,各有各的不同,同样的登录用ssh和spring+servlet+jsp做就不一样,如果采用jquery+ajax又是另外一种做法。 在工作中,我认真投入,认真学习。我感到人人都是我的师长,我能学,要学的东西还很多。如:新接触的sts,maven ,cas , nexus,邮件的发送,xml的导出,文件的批量上传,一系列知识有的是新接触的,有的是以前不是特别巩固的,现在都熟悉了。 在空余时间,我会利用周末参加培训班,在网上查询有关相关资料,进行观看学习,我深切的感受到学习对自己的帮助确实很大。 三、 工作内容 在法律法规项目中我主要负责项目中的文本导入,以及xml导出。工作中最重要的是细心,一些细节决定了工作成果的优劣,比如文本的格式,文本的编码,还有文本中的不明空格,程序不识别的换行等等,考虑要到位,要全面,要顾大局,因为不就是这一个文本,文本是多样性的,程序就一个,所以必须考虑是要细心。 在cas这个项目上,我特别的、衷心的感谢带我工作和学习的李智铭老师,是李老师让我觉得程序员是一个思考者而不是一个码农。作为一个外包人员,一般是接到任务都是低头码代码,千篇 一律,只做固定的一部分,从来没有想着从一个大局去入手,考虑项目的诸多细节,譬如项目的性能,项目的命名规则,注释,李老师常说一句话就是,一个东西搞就把它搞明白搞透,我觉得我就缺乏一种深究的精神。之前做事嫌麻烦,一切以能完成任务的心态,认为功能实现就可以了。至于为什么这样实现,我一般是不去深究的,从而导致了认识不深。什么都懂点,但深问起来又什么都不会。李老师教会我独立思考以及换位思考,本来我认为一个解决不了的问题,从李老师的换个角度也就可以。其实每完成一个功能都是提高自己自信的。 也许,在我的代码生涯,李老师算上是一个良师。我很珍惜。虽然只有两个月,但很知足。说起来,感觉特别对不起李老师,没能把cas项目最终完成,以及对法律法规项目核心的技术还没有搞明白,以至于导入pdf图片不能很好的胜任,对此,深表内疚。学习的还有很多很多,至于法律法规的二期开发,作为外包人员,一切听从组织安排。 四、 展望 VFP程序设计 ——课设总结 为期几周的VFP数据库设计的课设就快过去了,在这做课设的这段时间,可以说是有苦有甜,令人难忘。因此,有必要写一篇总结,记录一下自己做课设的历程。 刚刚接到老师的课设要求的时候有点傻眼了,得优秀的要求是系统完善、写一篇系统总结、回答老师对于代码方面的提问。第一点似乎都还算能做到,但是对于我们这种连SQL语言的皮毛都没学,对于数据库的系统结构完全不了解的人,怎么能把三点要求都完成。 但是经过一段时间的摸索,我渐渐对vf的数据库系统有了大体的了解知道了什么是项目,数据库就是数据表的集合,搞清了基本表单的制作过程,知道如何用快速报表和报表向导做格式的报表,以及对报表的美化、求和、计算等处理,还有就是如何去制作菜单,以及用菜单调用各种数据文件,最后的主程序是直接复制老师的代码,但是凭着一点点C++和C语言基础,能够看懂代码的意思,这有助于我后期对整个系统进行查错和修改。下面就讲一下我对自己做的系统的总结。 1数据表(.dbf):数据表是整个系统的“原材料”,后期所有的制作处理,都是为了去处理和显示这些数据,去用这些数据,当然也可以说数据表依靠后期的表单等等呈现给用户。 2数据库(.dbc):数据库以我看来就是数据表的集合,可以将无联系的自由表集合到一个容器里,使他们可以产生联系。并且将这些表作为后面其他东西的数据环境。 3表单(.scx):表单就是最后呈现给用户的人机交互界面,并且带有一定的功能。表单的制作首先需要要给他设置数据环境,因为其上面的各种控件都是以数据环境里面的数据实现控件的意义。各种控件比如标签就是用来显示表单上需要显示的一些文字提示,文本框就是用来显示文本内容,组合框可以下拉显示一连串的内容,表格控件可以显示表格数据,可以用生成器做出自定义的表格,按钮控件可以通过某个过程比如单击执行用户需要的事件代码等等。最后表单生成以后,作为整个系统的优良的用户与系统的交互平台。 4菜单(.mnx):菜单就是整个系统调用文件的工具,通过点击菜单,可以调用任意用户想要调用的文件比如表单,数据表,程序等等。 5程序(.prg)程序就是一段代码,生成文件以后可以由其他文件调用并执行,如主程序就是在系统运行时的入口,当然得先设置好主文件;quit程序可以实现系统的退出。 除了以上几个以外,还有工具栏、自定义类等等在系统中都起着重要的作用,最后讲一下设置背景音乐所用的方法,用set bell to的方式定位到文件,用?chr(7)就能对WAV格式的音乐进行播放。 致谢: 整个课设过程收获很多,不仅仅是了解了利用Visual fox 制作系统的方法,而且还增进了同学们之间的友谊。在这里感谢同学们的互相学习以及交流分享,还有老师孜孜不倦的引导,总之,感谢老师,感谢同学,感谢大家! 时间过的真快,转眼间,一学期的课程结束了。这学期主要学习了《可编程序控制器应用技术及项目训练》,以三菱FX2s为样机,通过4个由易到难的实际工程项目,让我学会合理运用PLC及相关工控产品,掌握小型控制系统设计、安装与调试的工作方法。 通过本课程的学习,使我更加熟悉了相关国家标准和行业规范;熟练进行PLC控制柜装配;掌握小型PLC控制系统设计、安装、调试的工作方法;掌握收集、查阅PLC及相关产品资料的渠道和方法;熟悉位置、温度等工业传感器的选型与用法,会规范绘制电路图、接线图、位置图等电气图纸;会规范编写设备设计说明书和设备使用说明书等文档,也让我了解了有关PLC的很多知识。其中包括一下这些方面: PLC的基础知识 PLC的定义 PLC是可编程序控制器的简称。可编程序控制器(ProgrammableController)本应简称PC,但是由于个人计算机(PersonalComputer)也简称为PC,为了区别,同时由于早期的可编程序控制器只是具有逻辑控制功能,因此人们仍习惯称可编程序控制器为PLC(ProgrammableLogicalController)。PLC的发展概况 20世纪60年代中期,美国通用汽车公司(GM)为适应生产工艺不断更新的需要,提出了一种设想:把计算机的功能完善、通用灵活等优点与继电器控制系统的简单易懂、操作方便、价格便宜等优点结合起来,并提出了新型电气控制的十点招标要求。其中包括:编程方便,可在现场修改程序;维护方便,最好采用插件式结构;可靠性高于继电器控制装置;数据可直接进入管理计算机;体积小于继电器控制装置;成本可与继电器控制装置竞争;输入电源可为交流115V;输出为交流115V,负载电流应在2A以上,能直接驱动电磁阀接触器等;扩展时,原系统要求变更最少;用户程序存储器大于4KB等。 PLC的基本构成 电源:PLC的电源用于为PLC各模块的集成电路提供工作电源,在整个系统中起着十分重要的作用。电源输入类型有:交流电源(220VAC或110VAC),直流电源(常用的为24VDC)。 中央处理单元(CPU):中央处理单元(CPU)是PLC的控制中枢,是PLC的核心起神经中枢的作用,每套PLC至少有一个CPU。它按照PLC系统程序赋予的功能接收并存储从编程器键入的用户程序和数据;检查电源、存储器、I/O以及警戒定时器的状态,并能诊断用户程序中的语法错误。当PLC投入运行时,首先它以扫描的方式接收现场各输入装置的状态和数据,并分别存入I/O映象区,然后从用户程序存储器中逐条读取用户程序,经过命令解释后按指令的规定执行逻辑或算数运算的结果送入I/O映象区或数据寄存器内。等所有的用户程序执行完毕之后,最后将I/O映象区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环运行,直到停止运行。 存储器:存放系统软件的存储器称为系统程序存储器。存放应用软件的存储器称为用户程序存储器。 输入输出接口电路(I/O模块):PLC与电气回路的接口,是通过输入输出部分(I/O)完成的。I/O模块集成了PLC的I/O电路,其输入暂存器反映输入信号状态,输出点反映输出锁存器状态。输入模块将电信号变换成数字信号进入PLC系统,输出模块相反。I/O分为开关量输入(DI),开关量输出(DO),模拟量输入(AI),模拟量输出(AO)等模块。 PLC的特点:可靠性高,抗干扰能力强。 PLC作为通用工业控制计算机,是面向工矿企业的工控设备。它接口容易,编程语言易于为工程技术人员接受。梯形图语言的图形符号与表达方式和继电器电路图相当接近,只用PLC的少量开关量逻辑控制指令就可以方便地实现继电器电路的功能。 PLC的梯形图程序一般采用顺序控制设计法。这种编程方法很有规律,很容易掌握。对于复杂的控制系统,梯形图的设计时间比设计继电器系统电路图的时间要少得多。 PLC用存储逻辑代替接线逻辑,大大减少了控制设备外部的接线,使控制系统设计及建造的周期大为缩短,同时维护也变得容易起来。更重要的是使同一设备经过改变程序改变生产过程成为可能。这很适合多品种、小批量的生产场合。 可编程控制器编程语言 可编程控制器PLC中有多种程序设计语言,它们是:梯形图语言、布尔助记符语言、功能表图语言、功能模块图语言及结构化语句描述语言等。 梯形图语言和布尔助记符语言是基本程序设计语言,它通常由一系列指令组成,用这些指令可以完成大多数简单的控制功能,例如,代替继电器、计数器、计时器完成顺序控制和逻辑控制等,通过扩展或增强指令集,它们也能执行其它的基本操作。 功能表图语言和语句描述语言是高级的程序设计语言,它可根据需要去执行更有效的操作,例如,模拟量的控制,数据的操纵,报表的报印和其他基本程序设计语言无法完成的功能。 PLC的应用领域 开关量的逻辑控制 这是PLC最基本、最广泛的应用领域,它取代传统的继电器电路,实现逻辑控制、顺序控制,既可用于单台设备的控制,也可用于多机群控及自动化流水线。如注塑机、印刷机、订书机械、组合机床、磨床、包装生产线、电镀流水线等。 数据处理 现代PLC具有数学运算(含矩阵运算、函数运算、逻辑运算)、数据传送、数据转换、排序、查表、位操作等功能,可以完成数据的采集、分析及处理。这些数据可以与存储在存储器中的参考值比较,完成一定的控制操作,也可以利用通信功能传送到别的智能装置,或将它们打印制表。数据处理一般用于大型控制系统,如无人控制的柔性制造系统;也可用于过程控制系统,如造纸、冶金、食品工业中的一些大型控制系统。 通信及联网 PLC通信含PLC间的通信及PLC与其它智能设备间的通信。随着计算机控制的发展,工厂自动化网络发展得很快,各PLC厂商都十分重视PLC的通信功能,纷纷推出各自的网络系统。新近生产的PLC都具有通信接口,通信非常方便。 PLC具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。PLC在工业自动化控制特别是顺序控制中的地位,在可预见的将来,是无法取代的。 PLC的类型 PLC按结构分为整体型和模块型两类,按应用环境分为现场安装和控制室安装两类;按CPU字长分为1位、4位、8位、16位、32位、64位等。从应用角度出发,通常可按控制功能或输入输出点数选型。整体型PLC的I/O点数固定,因此用户选择的余地较小,用于小型控制系统;模块型PLC提供多种I/O卡件或插卡,因此用户可较合理地选择和配置控制系统的I/O点数,功能扩展方便灵活,一般用于大中型控制系统。 了解PLC的这些知识之后,要想完成一个项目,最关键的是软件部分,也就是程序。创建程序,用梯形图编程语言创建一个与模板相连结或与模板无关的程序并存储。创建程序是我们控制工程的重要工作之一,一般可以采用线形编程(基于一个块内,OB1)、分布编程(编写功能块FB,OB1组织调用)、结构化编程(编写通用块)。 下载程序到可编程控制器,完成所有的组态、参数赋值和编程任务之后,可以下载整个用户程序到可编程控制器。在下载程序时可编程控制器必须在允许下载的工作模式下(STOP或RUN-P),RUN-P模式表示,这个程序将一次下载一个块,如果重写一个旧的CPU程序就可能出现冲突,所以一般在下载前将CPU切换到STOP模式。 为了我们能顺利的完成一个项目,PLC系统设计时,首先应确定控制方案,接下来就是PLC工程设计选型。工艺流程的特点和应用要求是设计选型的主要依据。PLC及有关设备应是集成的、标准的,按照易于与工业控制系统形成一个整体,易于扩充其功能的原则选型所选用PLC应是在相关工业领域有投运业绩、成熟可靠的系统,PLC的系统硬件、软件配置及功能应与装置规模和控制要求相适应等等。 1.1 经验上的收获 来到公司8个月,学到了很多东西,不仅仅学到了学校里没有的技术,还学到了技术以外的更多的东西。 刚来公司的时候我一直想做java方面的项目,但是张总却让我做.net的项目,我很不解,感觉违背了当初的意向。通过和张总的谈话让我懂得,做一个好的软件不在于语言,而是软件本身的质量,软件能不能给用户的使用带来方便、软件的界面是否简单大方,不让人反感,软件是否稳定,容易维护、容易扩展。利用语言做软件只是一个程序员的基础,更重要的是能发现问题、认识问题、解决问题,做一个好的软件应该设身处地的站在用户的角度考虑怎么样才能更有利于用户的使用。 通过pda系统的实施也学到了不少的东西,由于是第一次做实施,没有什么经验可言,把实施看的很简单。通过本次实施我点的思想也有所改变,我认为实施主要是沟通,实施就是站在别人的角度去思考问题,只有站在别人的角度去思考才能在短时间内教会用户使用。软件的实施,并不是一件很容易的事,由于用户的年龄和文化层次不同,我们要了解不同的人,针对不同的人实行不同的培训方法。还有一些人只是单纯的听讲,碰到不会的不懂的问题不问,对于这种人要更细心的耐心的讲解,通过本次实施,自己也积累了一些经验,相信在以后的实施工作中,我会做的更好。 综上所述,主要总结出以下几点。 (1)语言只是做软件的一种工具,更好的软件是站在客户的立场上用心的设计,让用户使用更方便、更快捷。 (2)利用技术实现软件的功能只是软件的表面,认识问题、分析问题、解决问题才是最重要的。 (3)养成总结与反思的习惯,并有意识地提炼日常工作成果,在实施上要认真的总结工作经验,为以后的实施工作打基础。 (4)不论是做事还是做程序,一定要有清晰的思路,要认真仔细的去做,要有耐心和心信。 1.2 程序上的收获 代码规范,注重交流 刚来到公司的时候代码不规范,该加注释的不加注释,经过同事杜明月的指导和代码对比发现了自己的不足,进而意识到代码书写的规范与否会直接影响代码的易读性,进而影响到软件开发的效率。经过一段时间的修正,体会到如果自己写的代码很烂会让下一个改你程序的同事很是头疼,所以一定要提高自己的素质,首先应该注意的要条理清楚、思路明晰、代码规范。 软件开发不是一个人的事,在团队中技术与交流同等重要,交流是团队开发的基石,技术水平是项目坚固的保证。 测试不马虎 一次系统升级,由于是刚刚改好的程序就要上机,就没有好好测 试,结果升级后部分PDA出现了闪屏问题,造成了麻烦。经过那次升级意识到测试可能不一定需要很高的技术含量。但却是个考验细心,严谨的任务。甚至有的时候感到很繁琐枯燥。但这个保证软件质量的一个重要过程。 掌握进度,随时汇报 学会感恩与珍惜 但庆幸的是我们坚持下来了,十年如一日,石头那样地坚硬,小草那样地顽强,很多人经常觉得很奇怪,一家基本上没有销售员的纯技术型公司也能在中国大地上生存,真是莫大的笑话,我们靠的是一行行的代码换取一碗碗的米饭,偶尔饭里有点菜甚至是肉,令人相当地兴奋,我并不嫉妒或羡慕别人的山珍海味,那是因为别人比我有能力,所以TA们就应该吃着龙虾鲍鱼,我吃着自已辛苦换来的米饭,幸福感也是很高的,尽管老大不小了,可我依然是有梦想的,并且充满了狼性,但光有梦想与狼性是不够的,还要有能力与执行力,我一直在努力,期望有一日可以变得更好更强。 创业多年以来,我是幸运的,遇见那么多的贵人,TA们指导我,帮助我,使我不断地成长与进步,遇见那么多优秀的人才,TA们在我最艰难的时候也都不会离开我,一直齐心协力共同渡过,我能做的就是在我能力范围之内对TA们好一些,保持一颗感恩的心,珍惜所拥有的一切,我努力让自已是一个对的人,不辜负大家的青春年华,希望就在前方,我们越来越靠近。 先借力再能力,先借船再造船 20xx年对于我以及我的企业最重大的事情就是引入了东华软件股份公司【股票代码002065】作为战略投资者,企业更名为东华发思特。东华软件是一家同时具有CMMI5、系统集成一级、国家甲级涉密认证的上市公司,员工规模超过8000人,600多项自主知识产权,是国家重点高新技术企业、国家规划布局内的重点软件企业,东华软件以应用软件开发、计算机信息系统集成及互联网+为主要业务,拥有50多家子公司与办事处,在医疗、气象、金融、农业、水利、大数据、智慧城市等数十个板块排在中国龙头地位。 东华软件具有强大的平台能力和丰富的资源储备,并且团队非常地务实与拼搏,和东华的董事长与副总裁聊一聊,你会被他们的务实、思维和能力所吸引。我相信东华发思特依托东华软件这个平台,一定能快速发展,提高市场能力,增强核心竞争,成为中国领先的智慧城市综合服务商。 我一直认为一个智慧的人,并非是因为他的能力超群,而是会借力,然后再快速提高自已的能力。我们周围经常有这样的创业者,自已能力不足,却要打造平台,不停地造船,一生都在造船,结果反复折腾,船没有造成,河也没有过,错失了大好时光。我承认自已能力有限,时间有限,我就是先借力,后能力,先借船,后造船。 变与应变,全在于你自已 过去一年是一个不停变化的年份,各种新技术层出不穷,国家提倡大众创业万众创新,云计算、大数据以及互联网+风声水起,技术改变了工作与生活,我们也在不断地改变自已,以应对周围所发生的变化。个人或企业的`致命危机往往在于当技术或市场变化时没有及时调整,从而被用户或时代所抛弃,只有时代的企业,没有成功的企业,诺基亚不是失败了,而是被时代所抛弃了。 因此,作为时代的个人或企业,我们一定要顺势而为,对技术或市场的变化保持高度的关注和敏感的察觉,面对变化,我们要做的是应变,以其未来被逼着改变,不如现在直面和拥抱变化,动作要快,要有魄力。 个人或企业的应变能力全在于个人或企业家的理性修养,因此我们需要不断全方位地学习,才能掌握好趋势,掌握好时空,掌握好变化。 给自已与未来 很多时候我们都喜欢谈论未来,未来是什么?未来,我会在什么地方?遇到什么样的人?过什么样的生活?未来是未知数,未来是想出来的,真正的未来是当下的脚踏实地。 因此无论是现在还是未来,都要坚持梦想,并踏踏实实地做事,认认真真地做人,我认可的成功不是来自社会或别人的认可和评价,而是由自我满足带来的宁静平和的心态。如果在我力所能及的范围内,尽了最大的努力来改进现状,这就是我认为的最大成功。 再见20xx,你好20xx! ★ 程序员心得体会 ★ 程序员个人年终工作总结 ★ 程序员个人工作总结 ★ 程序员个人年度工作总结 ★ 程序员年度个人总结 ★ 个人工作心得体会 ★ PHP程序员工作简历参考 ★ 程序员的个人年度工作总结 ★ 程序员的个人工作总结 m=thisform.text1.value a=int(m/100)b=int(mod,100)/10)c=mod(m,10)n=100*c+10*b+a thisform.label2.caption=“结果为:”+str(n,3) 4求圆面积显示在标签中 r=thisform.text1.value s=pi()*r*r thisform.label2.caption=“该圆的面积为:”+str(s,3)5逆序显示加messagebox m=thisform.text1.value a=int(m/100)b=int(mod,100)/10)c=mod(m,10)n=100*c+10*b+a thisform.label2.caption=“结果为:”+str(n,3) 5逆序显示加messagebox x=thisform.text1.value if x>=100 and x<=999 and int(x)=x x1=int(x/100) x2=int(mod(x,100)/10) x3=mod(x,10) y=x3*100+x2*10+x1 thisform.label2.caption=“结果为:”+str(y,3) else messagebox(“入的不是一个三位自然数,请重新输入!”) thisform.text1.value=0 thisform.text1.setfocus endif 6圆面积messagebox显示 r=thisform.text1.value s=pi()*r*r messagebox(“圆面积=”+str(s,3),0) 8判断能否构成三角形 a=thisform.text1.value b=thisform.text2.value c=thisform.text3.value if a+b>c and a+c>b and b+c>a l=(a+b+c)/2 area=sqrt(l*(l-a)*(l-b)*(l-c))thisform.text4.value=round(area,1)else messagebox(“不能构成三角形,请重新输入!”)thisform.text1.value=0 thisform.text2.value=0 thisform.text3.value=0 thisform.text4.value=0 thisform.text1.setfocus endif 9判断是否是闰年 D=thisform.text1.value Y=year(d)If y/4=int(y/4)and y/100<>int(y/100)or int(y/400)=y/400 Y1=”是” Else Y1=”不是” Endif Thisform.label2.caption=y1 10比较大小双分支 a=thisform.text1.value b=thisform.text2.value if a>b thisform.text3.value=a else thisform.text3.value=b endif 11单分支 A=thisform.text1.value B=thisform.text2.value If a case m=3 or m=4 or m=5 s=“春季” case m=6 or m=7 or m=8 s=“夏季” case m=9 or m=10 or m=11 s=“秋季” case m=12 or m=1 or m=2 s=“冬季” endcase thisform.label1.caption=“该季节为: 15计算1+100 s=0 i=1 do while i<=100 s=s+i i=i+1 enddo Thisform.text1.value=s 16计算N!P=1 ”+s FOR I=1 T0 THISFORM.TEXT1.VALUE P=p*i Endfor Thisform.text2.value=P 18算K=1+2^2+..n^2 s=0 for i=1 to val(thisform.text1.value)s=s+i^2 endfor thisform.text2.value=s 17计算奇数和 s=0 for i=1to 100 step 2 s=s+i endfor thisform.text1.value=s 19计算e的近似值 s=0 i=1 n=1 m=1 do while m>=0.000001 n=n*i m=1/n i=i+1 s=s+m enddo thisform.text1.value=s 20求出所有的水仙花数 for i=100 to 999 x1=int(i/100)x2=int(mod(i,100)/10)x3=mod(i,10)if x1^3+x2^3+x3^3=i thisform.label1.caption=thisform.label1.caption+str(i,5)endif endfor 22输入字符串逆序显示 x=alltrim(thisform.text1.value)c=“" for i=len(x)to 1 step-1 c=c+substr(x,i,1)endfor thisform.label1.caption=c 23显示ASSIC字符中的数字字符串 a=alltrim(thisform.text1.value)c=” “ for i=1 to len(a)step 1 b=substr(a,i,1)if asc(b)>=asc(”0“)and asc(b)<=asc(”9“)c=c+b endif endfor thisform.label1.caption=c 24显示ASSIC字符中的大写字母串 a=alltrim(thisform.text1.value)c=” “ for i=1 to len(a)step 1 b=substr(a,i,1)if asc(b)> asc(”A“)and asc(b)<=asc(”Z“)c=c+b endif endfor thisform.label1.caption=c 25求圆面积,迎获得焦点即计算 Text2 gotfocus 事件 程序不变 26求圆面积,text1失去焦点,即输完字后敲回车即计算 Text1 的valid事件或者lostfocus事件 27修改label1 的相应字体command group do case case this.value=1 thisform.label1.fontname=”宋体“ case this.value=2 thisform.label1.fontname=”黑体“ case this.value=3 thisform.label1.fontname=”楷体“ case this.value=4 thisform.label1.fontname=”隶书“ case this.value=5 thisform.release Endcase 28x=thisform.text1.value y=thisform.text2.value do case case thisform.optiongroup1.value=1 z=x+y case thisform.optiongroup1.value=2 z=x-y case thisform.optiongroup1.value=3 z=x*y case thisform.optiongroup1.value=4 z=x/y endcase thisform.text3.value=z 29在list中输入*的直角三角形 y=”*“ for i=1 to 5 thisform.list1.additem(y)y=y+”*“ endfor 30列表框中显示斐波拉契数列 f1=1 f2=1 thisform.list1.addlistitem(” 1“,1,1)thisform.list1.addlistitem(” 1“,1,2)x=1 && x表示行号 y=3 && y表示列号 for i=3 to 20 f3=f1+f2 thisform.list1.addlistitem(str(f3,5),x,y)f1=f2 f2=f3 y=y+1 if y=6 x=x+1 && x+1即行号加1,换行 y=1 && 换行后列号回1 endif endfor 31 将100到150中第一个能被3整除的数找出来。EXIT跳出当前循环 For n=100 to 150 if n%3=0 thisform.text1.value=n exit endif Endfor 32用编辑框显示1到100的奇数 k=0 for i=1 to 100 step 2 k=k+1 thisform.edit1.value=thisform.edit1.value+str(i,5)if k%8=0 thisform.edit1.value=thisform.edit1.value+ chr(13)endif Endfor 33 用编辑框输出大写字母表 n=0 for i=asc(”A“)to asc(”Z“) thisform.edit1.value=thisform.edit1.value+ chr(i)+space(2) n=n+1 if n%6=0 thisform.edit1.value=thisform.edit1.value+ chr(13) endif endfor 34查询图书表中包含程序二字的图书信息 select * from 图书 where 书名 like ”%程序%“ into cursor temp thisform.grid1.recordsource=”temp“ 35查询图书表中图书的价格在28到30之间的图书。 select * from 图书 where 价格 between 28 and 30 into cursor temp thisform.grid1.recordsource=“temp ” 第二类 select * from 图书 where 价格>=28 and 价格<=30 into cursor temp thisform.grid1.recordsource=“temp” 36按办证日期先后顺序显示读者表中的读者信息。select * from 读者 order by 办证日期 into cursor temp thisform.grid1.recordsource=“temp ” 37在借阅表中按读者编号从大到小的顺序,读者编号相同时按借阅日期的先后顺序显示读者编号、书号及借阅日期。 select 读者编号,书号,借阅日期 from 借阅 order by 读者编号 desc, 借阅日期 asc into cursor temp thisform.grid1.recordsource=“temp ” 注: 通过ORDER BY子句可以实现查询结果的排序输出,允许按一列或多列排序。 格式: ORDER BY <排序选项1>[ASC|DESC][,< 排序选项2>[ASC|DESC]„] 其中,ASC表示升序排序(缺省方式),DESC表示降序排序。 38显示图书表中数量最多的两种图书信息。表单Form1的Init事件代码如下: select top 2 * from 图书 order by 数量 desc ; into cursor temp thisform.grid1.recordsource=“temp “ 注: 使用TOP <数值表达式> [PERCENT]短语显示部分结果。注意:TOP短语要与ORDER BY短语同时使用才有效。 【例】显示价格最低的20%图书的信息。 SELECT * TOP 20 PERCENT FROM 图书 ORDER BY 价格 39计算图书表中图书的平均价格,保存在数组DJ中。select avg(价格)from 图书 into array dj thisform.label1.caption=”图书的平均价格 为:“+ str(dj(1),5,2)+”元“ 注:使用INTO ARRAY <数组名>将查询结果存放到数组中。40将图书表中最高单价和最低单价分别显示在文本框text1和text2中。 其SQL语句改为: select max(价格)as 最高单价,min(价格)as 最低单价 from 图书 into array cj thisform.text1.value=cj(1)thisform.text2.value=cj(2)41将图书表中最高单价和最低单价分别显示在文本框text1和text2中。其SQL语句改为: select max(价格)as 最高单价,min(价格)as 最低单价 from 图书 into array x Thisform.label3.caption=str(x(1),4,1)Thisform.label4.caption=str(x(2),4,1)42 计算图书表中每个出版社的图书数量。注: 通过GROUP BY子句可以实现分组查询。 格式: GROUP BY <分组字段名1>[,<分组字段名2>„] [HAVING <过滤条件>] 其中,<分组字段名>可以是表的字段名、字段函数名或标识列的数值型表达式;[HAVING <过滤条件>]子句进一步限定分组的条件。表单Form1的Init事件代码如下: select 出版社,sum(数量)as 数量 from 图书 group by 出版社 into cursor temp thisform.grid1.recordsource=”temp” 43在借阅表中统计每本图书的借阅次数。 Select 书号,count(*)as 借阅次数 from 借阅 group by 书号 into cursor temp Thisform.grid1.recordsource=”temp” 44查询至少被借阅了2次的图书的书号及书名。注,此方法可以运行 select 书号, 书名 from 图书 where 书号 in(select 书号 from 借阅 group by 书号 having count(*)>=2)into cursor lsb thisform.grid1.recordsource=“lsb” 方法2(运行故障,)select 图书.书号,书名 from 图书,借阅; where 图书.书号=借阅.书号 group ; by图书.书号 having count(*)>=2; into cursor temp thisform.grid1.recordsource=“temp “ 方法3(运行故障)Select 图书.书号,书名 from 图书 inner join; 借阅 on 图书.书号=借阅.书号; group by 图书.书号; having count(*)>=2; into cursor temp thisform.grid1.recordsource=“temp ” 45输入图书编号,查询借阅该图书的读者姓名、单位、联系电话。方法1: “查询”按钮的Click事件代码如下: bh=alltrim(thisform.text1.value) select ; 读者姓名,单位,联系电话; from 读者,借阅 ; where 读者.读者编号=借阅.读者编号; and 书号=bh; into cursor temp thisform.grid1.recordsource= “temp “ 方法2: “查询”按钮的Click事件代码如下: bh=alltrim(thisform.text1.value) select 读者姓名,单位,联系电话 from 读者; inner join 借阅 on 读者.读者编号=; 借阅.读者编号 where 书号=bh; into cursor temp thisform.grid1.recordsource=“temp ” 方法3: “查询”按钮的Click事件代码如下: bh=alltrim(thisform.text1.value) select 读者姓名,单位,联系电话 from 读者 where 读者编号 in(select 读者编号 from 借阅 where 书号=bh)into cursor temp thisform.grid1.recordsource=“temp “ 46输入读者编号,查询该读者的姓名、单位、借阅的图书的书名及借阅日期。 bh=alltrim(thisform.text1.value) select 读者姓名,单位,书名,借阅日期 from 读者,借阅, 图书 where 读者.读者编号= 借阅.读者编号 and 借阅.书号= 图书.书号 and 读者.读者编号=bh into cursor temp thisform.grid1.recordsource=”temp" 51Edit 编辑框的interactivechange代码 zy=thisform.combo1.value public interface SinterFace { public final static String intstr=“hello is interface”;public abstract void nostat();} public class Useinter implements SinterFace { int inter = 5;static String str = “hello is class”;public double dou = 1.0; public void nostat(){ System.out.println(“is no static method”);} public static void stat(){ System.out.println(“is static method”);} } public class Main { public static void main(String[] args){ System.out.println(“静态变量方法在类实例化之前都可以调用:”);Useinter.stat();System.out.println(Useinter.str +“n”); System.out.println(“非静态变量方法要在类实例化之后才可以调用:”);Useinter useinter = new Useinter();useinter.nostat();System.out.println(useinter.dou);System.out.println(“类中没声明是private的变量默认都是public”);System.out.println(useinter.inter); System.out.println(“n类里的静态变量可以被实例调用:”);System.out.println(useinter.str +“n”); 【OFDM_matlab源程序总结】推荐阅读: MATLAB程序实现08-14 MATLAB程序算法10-12 年程序员年终总结05-16 程序员的年终总结06-03 程序员个人年终总结07-30 程序员年度个人总结11-09 期中考试总结会程序11-11 程序员年终总结怎么写07-06 转正工作总结-程序员08-20 《.NET程序开发》心得总结10-12OFDM_matlab源程序总结 篇2
OFDM_matlab源程序总结 篇3
公司设立程序(总结) 篇4
C程序个人总结 篇5
程序员年度总结 篇6
VFP程序设计总结 篇7
可编程序控制器总结 篇8
程序员的年度总结 篇9
程序员个人年终总结 篇10
带星号的程序代码总结[范文] 篇11
关于JAVA一些问题 程序总结 篇12