精华内容
下载资源
问答
  • 2021-04-01 20:13:40

    第1关:接口的定义与使用-学生还是老师
    本关的编程任务是补全右侧代码片段中Begin至End中间的代码,具体要求如下:

    定义一个Introduce接口,包括一个introduction()方法,输出格式见测试样例。
    定义一个Student类和一个Teacher类实现Introduce接口。

    package step1;
    
    import java.util.Objects;
    import java.util.Scanner;
    
    public class StudentOrTeacher {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            String string = scanner.next();
            Introduce p=null;
            if (Objects.equals(string, "学生")) {
                p = new Student();
                
            }
            else if (Objects.equals(string, "老师")) {
                p = new Teacher();
                
            }
            p.introduction();
        }
    }
    
    /********** Begin *********/
        interface Introduce {
            void introduction();
        }
    
    class Student implements Introduce {
        @Override
        public void introduction() {
            System.out.println("我是一名学生!");
        }
    }
    
    class Teacher implements Introduce {
    
        @Override
        public void introduction() {
            System.out.println("我是一名老师!");
        }
    }
    /********** End *********/
    
    

    第2关:接口应用:充电器接口的实现

    本程序包含三个源文件,分别是:
    Telephone.java:主类定义
    ICharger.java:接口定义
    Charger.java:实现接口的具体类的定义
    你的任务是:
    (1)熟读ICharger.java中的代码和测试结果,并仔细阅读Telephone中的代码。
    (2)在上述前提下,在Telephone中begin-end区域补充完整代码,只需要添加一条代码即可。
    (3)完成Charger的定义。
    编程要求
    本程序包含三个源文件,分别是:
    Telephone.java:主类定义
    ICharger.java:接口定义
    Charger.java:实现接口的具体类的定义
    你的任务是:
    (1)熟读ICharger.java中的代码和测试结果,并仔细阅读Telephone中的代码。
    (2)在上述前提下,在Telephone中begin-end区域补充完整代码,只需要添加一条代码即可。
    (3)完成Charger的定义。

    测试说明
    平台会对你编写的代码进行测试,测试结果的格式如下:
    请输入交流电压和当前手机电量:
    220 47
    已充电到52%
    已充电到57%
    已充电到62%
    已充电到67%
    已充电到72%
    已充电到77%
    已充电到82%
    已充电到87%
    已充电到92%
    已充电到97%
    已充电到100%
    充电器停止充电

    Telephone.java

    package step1;
    
    import java.util.Scanner;
    
    public class Telephone {
    	ICharger charger;
    	private int currentEnergy;
    	public Telephone() {
    		//begin,请在begin-end之间添加一条语句,不要改动其他任何代码,否则为0分。
            charger = new Charger(); //接口回调		 
    		//end
    	}
    	public static Scanner sc=new Scanner(System.in);
    	public static void main(String[] args) {
    		
    		Telephone tel=new Telephone();
    		System.out.println("请输入交流电压和当前手机电量:");
    		float vol=sc.nextFloat();
    		tel.currentEnergy=sc.nextInt();
    		tel.beginCharge(vol);
    		sc.close();
    	}
    	private void beginCharge(float vol) {
    		if(charger.connectPowerline(vol)) {
    			while(true) {
    				currentEnergy=charger.doCharge(currentEnergy);
    				if(currentEnergy==100) {
    					break;
    				}
    			}
    		}
    	}
    
    }
    
    

    Charger.java

     //Charger.java ,请完成Charger的完整定义,使它满足主方法的输出内容和格式的要求。
     package guet;
     public class Charger implements ICharger {
        /**
         * 将充电器连接到交流电源上
         * @param voltage 交流电电压
         * @return 当voltage在[200-240]V范围时,返回true,否则返回false
         */
        @Override
        public boolean connectPowerline(float voltage) {
            if (voltage>=200 && voltage<=240){
                return true;
            }else {
                System.out.println("交流电压不在[200,240]范围,无法充电");
                return false;
            }
        }
    
        /**
         * 关电,停止充电
         */
        @Override
        public void powerOff() {
            System.out.println("充电器停止充电");
        }
    
        /**
         * 给手机充电,调用该方法1次,充电5%
         * @param currentEnergy 手机电池现有电量,[0-100]间的数
         * 若电量为100(满电),则停止充电,自动调用powerOff
         * @return 充电后的电池电量,若currentEnergy为10,则返回10+5=15
         */
        @Override
        public int doCharge(int currentEnergy) {
            if (currentEnergy>=0 && currentEnergy<=100){
                if(currentEnergy == 100){
                    powerOff();
                    return currentEnergy;
                }
                currentEnergy = currentEnergy+5;
                if(currentEnergy > 100){
                    currentEnergy = 100;
                    System.out.println("已充电到"+currentEnergy+"%");
                    powerOff();
                    return currentEnergy;
                }
                
                System.out.println("已充电到"+currentEnergy+"%");
                return currentEnergy;
            }
            return 0;
        }
    }
    

    ICharger.java

     package step3;
    /**
     * 提供给充电设计公司的接口
     * @author guet.imagan
     *
     */
    public interface ICharger {
    	/**
    	 * 将充电器连接到交流电源上
    	 * @param voltage 交流电电压
    	 * @return 当voltage在[200-240]V范围时,返回true,否则返回false
    	 */
    	boolean connectPowerline(float voltage);
    	/**
    	 * 关电,停止充电
    	 */
    	void powerOff();
    	/**
    	 * 给手机充电,调用该方法1次,充电5%
    	 * @param currentEnergy 手机电池现有电量,[0-100]间的数
    	 * 若电量为100(满电),则停止充电,自动调用powerOff
    	 * @return 充电后的电池电量,若currentEnergy为10,则返回10+5=15
    	 */
    	int doCharge(int currentEnergy);
    }
    

    第3关:接口的继承-体育爱好
    编程要求
    本关的编程任务是补全右侧代码片段中Begin至End中间的代码,完成MyFavourateTeam类以实现其需要实现的接口,具体要求如下:

    通过setSports()设置喜欢的体育赛事类型,如篮球、足球;
    通过setTeam()设置支持的队伍,如洛杉矶湖人、皇家马德里等;
    通过introduction()大声说出你喜欢的运动,和喜欢的球队,格式如下:“我最喜欢的体育运动是xxx,我最喜欢的球队是xxx”。(具体输入输出格式可参见测试样例)
    评测说明
    平台将自动编译补全后的代码,并生成若干组测试数据,接着根据程序的输出判断程序是否正确。

    以下是测试样例:

    测试输入:
    篮球 洛杉矶湖人
    预期输出:
    我最喜欢的体育运动是篮球,我最喜欢的球队是洛杉矶湖人

    package step2;
    
    import java.util.Scanner;
    
    public class SportsEvents {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            String sports = scanner.next();
            String team = scanner.next();
            MyFavourateTeam myFavourateTeam = new MyFavourateTeam();
            myFavourateTeam.setSports(sports);
            myFavourateTeam.setTeam(team);
            myFavourateTeam.introduction();
        }
    }
    
    interface Sports {
        void setSports(String sports);
    }
    
    interface Team {
        void setTeam(String team);
    }
    
    interface ChooseTeam extends Sports, Team {
        void introduction();
    }
    
    /********** Begin *********/
    
    class MyFavourateTeam implements ChooseTeam {
        private String sports;
        private String team;
        @Override
        public void setSports(String sports) {
            this.sports = sports;
        }
    
        @Override
        public void setTeam(String team) {
            this.team = team;
        }
    
        @Override
        public void introduction() {
            System.out.println("我最喜欢的体育运动是"+sports+",我最喜欢的球队是"+team);
        }
        
        
    }
    
    /********** End *********/
    
    

    答案仅供参考,不对的还请指正,不懂的答疑时去问老师。

    更多相关内容
  • 任务并行编程模型是近年来多核平台上广泛研究和使用的并行编程模型,旨在简化并行编程和提高多核利用率.首先,介绍了任务并行编程模型的基本编程接口和支持机制;然后,从3 个角度,即并行性表达、数据管理和任务调度介绍...
  • 最新国家开放大学电大可编程控制器应用形考任务4试题及答案 形成性作业4 一判断题正确的打错误的打16小题前14小题每题6分第1516小题每题8分共100分 题目1 1S7-300/S4-400可以通过多点接口MPI接口组成PLC网络 选择一...
  • 随着现代图形处理器(GPU)可编程能力及性能的提高,应用开发商们一直希望图形硬件可以解决以前只有通用CPU才能完成的高密集计算任务。尽管利用通用GPU进行计算很有发展前景,但传统图像应用编程接口仍然将GPU抽象成一...
  • socket_programming:这是一个简单的任务,实际上是通过TCP和UDP实现套编程
  • 8051单片机教程 上一课:8051单片机教程第二十二课:串行口应用编程实例 http://www.eeskill.com/article/id/37479
  • java8集合源码编程任务 LYON Future 的编程任务 该任务的目的是使用类似于 LYON Future 开发和部署平台的技术堆栈开发一个小型服务。 可以使用您最喜欢的 IDE 开发解决方案。 使用像 github 这样的公共存储库与我们...
  • 任务并行编程模型.ppt

    2020-09-15 03:17:03
    任务并行编程模型 电信学部 任务并行编程模型概述 传统的并行编程模型主要有数据并行和消息传递,数 据并行编程模型的编程级别比较高编程相对简单 程级别相对较低但消息传递编程模型可以有更广泛 的应用范围 任务并行...
  • 基于共生投标 (SBB)框架的Python 实现,用于使用遗传编程 (GP) 进行问题分解。该算法由加拿大达尔豪斯大学 NIMS 实验室开发。 该框架可以通过以下方式使用: 强化学习任务(通过套字) 实现一个遵循 SBB 套字...
  • 全书分为10章,第 1章介绍网络编程基础,第 2章介绍套字网络编程接口,第3章介绍Windows环境的网络编程,第4章介绍MFC编程,第5章介绍MFC WinSock类的编程,第6章介绍WinInet编程,第7章介绍WinSock的多线程编程,...
  • 赚外快—常见编程接单的网站集合(20余个)

    万次阅读 多人点赞 2021-02-07 15:07:48
    私活的钱不好挣是一个方面,更重要的是如果你把做私活的时间花提升自己上,产生的价值就要大得多。等你提升了自己,提升了固定薪水,远比拿的这点私活的钱划算。千万不要“捡了芝麻丢了西瓜”。 如果你主业上遇到...

    ▍前 言

    关于程序员接私活,社会各界说法不一。按照作者的观点来说如果你确实急用钱,价格又合适,那就去做。如果不怎么缺钱,那就接私活之前要好好考虑。私活的钱不好挣是一个方面,更重要的是如果你把做私活的时间花在提升自己上,产生的价值就要大得多。等你提升了自己,提升了固定薪水,远比拿的这点私活的钱划算。千万不要“捡了芝麻丢了西瓜”。

    如果你主业上遇到了瓶颈,平时的时间比较充分,想有一些额外的收入,同时为了保持技术的熟练度,这种情况下,是可以考虑接一些私活的。对于那种投入时间巨大,回报很可怜的项目,千万不要接。

     

    1、开源众包

    网址:https://zb.oschina.net/

    开源众包 –专业的软件众包平台,350万+ 优质开发者为您提供网站、APP、微信/小程序、企业应用等软件开发服务,有效降低企业 IT 软件开发成本、解决技术资源不足等问题。

    开源中国的众包平台,主要是以众包为主。

    2、码市

    网址:https://codemart.com/

    码市 是 Coding 推出的互联网软件外包服务平台,意在连接需求方与广大开发者。让项目的需求方快速的找到合适的开发者,完成项目开发工作。

    3、一品威客

    网址:https://www.epwk.com/

    4、SXSOFT

    网址:https://www.sxsoft.com/page/project

    5、智城Taskcity(智城外包网)

    网址:http://www.taskcity.com/

    智城外包网,聚合全国软件团队资源,官方认证,1小时响应,零交易佣金,托管安全保障。十年口碑运营,万家靠谱团队。免费比价,免费一站式外包项目管理工具。平台汇集软件咨询专家,软件技术专家,软件开发专家,软件开发公司,软件外包公司,软件外派公司。在线竞标模式,让IT外包项目和短期IT招聘、人力派遣需求可以获得高性价比的候选。海量资源池包括:网站设计、网站开发、手机应用开发、移动应用开发、安卓应用开发、苹果应用开发、微信应用开发、Java技术、C#技术、Web前端开发、IT人力外包、IT人力外派、IT人力短期招聘、技术合伙人、通用软件开发,SaaS软件实施,软件运维等服务门类。

    6、码易

    网址:https://www.proginn.com/w/1338572

    7、yespmp

    网址:https://www.yespmp.com/

    8、云沃客

    网址:https://www.yungong.com/sem-jzc?semfrom=baidu

    9、程序员客栈

    网址:https://www.proginn.com/

    程序员客栈 中国非常领先的自由工作平台,为中高端程序员、产品经理和设计师等等互联网相关人员提供稳定的线上工作机会,包括自由工作、远程工作和兼职工作,还支持按需雇佣,工作模式非常多,感兴趣的推荐大家尝试一下。虽然名称叫程序员客栈,但是除了程序员,像产品经理,设计师等等互联网相关人员,都能在上面找到适合自己的项目

    10、威客网

    网址:https://task.epwk.com/

    11、猪八戒网

    网址:https://changsha.zbj.com/sem/index?pmcode=128434481&utm_source=baidu&utm_medium=SEM&sdclkid=AL2D15fNArDiALgpA5-i

    猪八戒网 创建于2006年,是服务中小微企业的人才共享平台。开创式地为人才与雇主搭建起双边市场,通过线上线下资源整合与大数据服务,实现人才与雇主精准无缝对接。找兼职的地方,主要是入门级项目,不适合专业程序员,只适合新手。

    12 实现网

    官方网站:https://shixian.com/

    北京实现与爱科技有限公司 是一个互联网工程师兼职平台。解决创业公司招人难、成本高的问题。

    创业公司通过实现网可以快速预约知名互联网企业的工程师、设计师到自己的团队工作。上午预约工程师,最快晚上即可到班兼职。

    互联网工程师可以在实现网注册成为技术顾问,利用业余时间助力创业公司,并且获得以时薪为单位的报酬。

    目前已有9000+工程师或设计师可在线预约和支付,支付后工程师会到团队里坐班沟通,快速推进创业者的产品开发进度。

    实现网 为企业提供BAT等名企背景的、靠谱的开发设计兼职人才和自由职业者,满足企业项目外包、驻场开发、远程兼职、技术咨询等短期人力需求。已服务2000多家企业,包括好未来、方正、人人贷、秒拍等知名企业。

     

    13 猿急送

    官方网站:https://www.yuanjisong.com/

    猿急送,一个高级技术共享平台,这里汇聚知名互联网公司的技术、设计、产品大牛,通过实际坐班、远程等方式,一对一为创业公司解决问题,提高创业效率。

    猿急送为您提供兼职程序员,兼职工程师信息,猿急送是一个高级技术共享平台,是优质的程序员兼职网站,这里汇聚BAT等知名互联网公司的技术开发、产品、设计大牛,通过实际坐班等方式,一对一为创业公司解决程序员、工程师等开发、产品设计人力问题。

    14 人人开发

    人人开发基于可视化快速开发平台 - 捷得(Joget)/捷得云(Joget Cloud)(PaaS),集众多开发者资源,为企业提供企业管理软件服务。应用市场提供应用产品、插件的在线试用和销售,服务市场以威客众包模式提供管理软件定制开发服务,各类企业级应用开发服务,例如:协同OA产品,ERP,CRM,人事管理,项目管理,资产管理,设备管理等。

    官方网站:http://rrkf.com/

    ▍15 开发邦

    公司位于北京中关村科技园区核心区海淀园,成立于2010年,专注于为客户提供互联网软件技术开发与咨询服务,致力于利用互联网软件技术为客户提高效率、降低成本、提升效能、优化管理。

    团队核心成员均具有十年以上软件互联网技术开发经验,毕业于工科名校。至今,已成功执行近百个项目,涵盖管理软件、互联网系统、移动APP、前端互动开发等。

    先后为华为公司、商汤科技、工信部中国软件评测中心、神州数码、深鉴科技、中软集团、中国万网、中石油吐哈气举中心、华北电力大学、中科院科技政策与管理研究所、浪潮集团、ADI、世界五百强伊顿中国、北京外国语大学、51talk、勤邦生物、安龙基因等知名企业及机构提供过互联网软件技术开发与技术咨询服务。

    开发邦致力于成为企业业务互联网软件服务与咨询的定制方案提供商。

    官方网站:https://www.kaifabang.com/

    ▍16 电鸭社区

    电鸭社区旨在帮助更多人走上「只工作,不上班」的自由工作之路,我们是一个「分布式组织」,通过分享及行动带来积极的影响,相信点滴的力量能改变潮水的方向。

    官方网站:https://eleduck.com/

    17 快码

    深圳快码科技 成立于2014年11月,是一家创新型的互联网公司,致力于通过创新的开发方式,为软件技术开发行业带来改变,提供更快速、更高性价比的软件定制服务。

    “快码”的意思是“快速编写代码”。公司采用“专属项目经理 + 自有开发团队 + 平台程序员”的创新开发方式,严格按照互联网公司的标准来管理开发团队,确保每个项目都有充足的人员投入,确保项目的进度和开发质量。2015年,我们和全球最大的手游、APP云测试平台Testin达成战略合作协议,并获得Testin数百万的战略投资。

    目前平台已注册的开发者达到3万多人,涵盖各种开发语言与类型,可以提供开发的项目有iOS APP、安卓APP、微信公众号、PC网站、手机网站、微信小程序、桌面软件、智能硬件APP等。上线以来,我们已经完成了数千项目&任务的开发。

    创业灵感来自于快码团队的从业经验。在近十年的互联网技术经历中,对由于创业公司、外包公司人员不稳定,招聘困难、人手有限等问题而导致现有团队开发任务过重,开发进度缓慢等问题有着切身之痛,将在P2P旅游行业2年多的共享经济经验,和自身最熟悉的“软件开发”结合,创立了“快码”。

    快码将立足于代码开发,深耕行业,面向未来,通过持续的产品创新,为广大项目方、开发者提供专业的服务,为软件技术开发行业带来改变。

    快码 是一个创新的软件开发平台。项目方可以更省钱、高效地完成项目的开发;开发者可以充分利用闲置时间,实现更高的商业价值!

    官方网站:https://www.kuai.ma/

    ▍18 英选

    英选,可信赖的软件外包服务。用优秀的人,做漂亮的产品,写干净的代码。平台以定制开发外包服务为主,也是外包项目平台。

    官方网站:https://www.yingxuan.io/

    ▍19 Upwork

    Upwork 是全球最大的、最优秀的、最规范的综合类人力外包服务平台,由著名的 Elance 和 oDesk 合并。这里聚集 900 万来自全球各地的自由工作者,你肯定可以在找到适合你的职位。

    官方网站:https://www.upwork.com/

    ▍20 Freelancer

    Freelancer 的工作类型覆盖了很多不同的领域,由程序开发到市场营销、广告、会计、法务等一系列的可以远程的工作。

    官方网站:https://www.freelance.com/

    ▍21 Dribbble

    Dribbble 不只是全球最受欢迎的设计师社区,同样是设计师寻找远程工作的好出处。自从被 Tiny 收购后,Dribbble 的招聘属性正在慢慢增强,试着持续 PO 出自己的好作品,等待你的伯乐,同样你可以关注 Jobs 页面,给心仪的 Team 提交简历。

    官方网站:https://dribbble.com/jobs

    ▍22 Remoteok

    Remoteok 不仅提供最初的兼职类远程工作,还有全职类,签署合同类和实习类的工作。网站创始人 Pieter Levels 本身就是一名数字游民,他同样是 Nomadlist 的创始人。

    官方网站:https://remoteok.io/

    ▍23 Toptal

    Toptal 是一个高端一些的自由职业者平台,适合比较有经验和工作尽力的远程工作者。它将企业与全球的软件工程师,设计师和业务顾问联系起来。

    官方网站:https://www.toptal.com/

    ▍24 AngelList

    AngelList 主要是服务于初创公司和天使投资人的平台,这里还有初创公司提供的远程工作的机会,如果对远程加入初创公司感兴趣的,可以尝试一下。

    官方网站:https://angel.co/remote

    ▍25 Topcoder

    Topcoder 通过算法比赛吸引世界顶级的程序员,他会将一下大型项目分割成很多小模块,通过竞赛的模式交给用户来做,优胜者可以拿到制定模块的奖金。

    官方网站:https://www.topcoder.com/

     

    参考:

    2020 给你 8 个接私活的网站

    接私活必备的 10 个开源项目!

    用 Python 赚钱的 5 个方法,教你业余时间赚外快!

    展开全文
  • 第4章 BOM编程;了解BOM编程;本章任务;任务1 制作弹出窗口特效;任务描述 ;任务分析;BOM对象模型参考;属性;BOM的主要对象描述;window的常用属性;window的常用方法-打开新窗口;open)方法name可选值;features可选参数;...
  • 2.1.3 套编程接口Windows和Linux操作系统中得到继承和发展 25 2.1.4 套编程接口的两种实现方式 25 2.1.5 套字通信与UNIX操作系统的输入/输出的关系 26 2.2 套编程的基本概念 27 2.2.1 什么...
  • Verilog HDL 编程语言接口

    千次阅读 2021-07-13 18:00:53
    PLI的发展也经历了三代: ...如何modelsim中用PLI PLI任务的连接和调用 连接 调用 一般流程: 内部数据表示 PLI库子程序 io_printf 就是 PLI 库子程序。 一般有两类:存取子程序和实用子程序 ...

    在这里插入图片描述PLI的发展也经历了三代:
    在这里插入图片描述
    使用PLI子程序的规范仿真流程如图所示。
    在这里插入图片描述
    在这里插入图片描述
    PLI运行进行以下操作:
    • 读取内部数据结构
    • 修改内部数据结构
    • 存取仿真环境
    在这里插入图片描述

    PLI的使用

    在这里插入图片描述
    如何在modelsim中用PLI

    PLI任务的连接和调用

    在这里插入图片描述

    连接

    在这里插入图片描述

    调用

    在这里插入图片描述
    一般流程
    在这里插入图片描述

    内部数据表示

    在这里插入图片描述

    PLI库子程序

    在这里插入图片描述
    io_printf 就是 PLI 库子程序。
    一般有两类:存取子程序和实用子程序
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    实用子程序

    就是各种各样的PLI子程序。用于在Verilog和C语言中传递数据。
    在这里插入图片描述
    在这里插入图片描述
    关于C语言程序放在什么文件下需要参考对应的仿真器的参考手册。

    展开全文
  • 任务Socket通信编程实验 任务目的 01 任务步骤 02 目 录 结果展示 03 任务目的 了解TCP协议的特点 理解套字工作原理 掌握Socket通信过程 会建立面向连接的方式的SocketTCP 首先建立一个套字并绑定本机的IP和端口...
  • 西门西PLC、台达触摸屏、法兰克机床等等多年以前玩得比较多,改造机床、维修机床、给机床编程等等,没事还能扯个零件啥的,之前也没总结过,有时间就重新整理下。   本章后面以西门1200实物为例,下载一个基本程序...

    若该文为原创文章,转载请注明原文出处
    本文章博客地址:https://blog.csdn.net/qq21497936/article/details/115896062

    长期持续带来更多项目与技术分享,咨询请加QQ:21497936、微信:yangsir198808

    红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

    其他(编程相关)

    上一篇:无
    下一篇:敬请期待…


    前言

      西门西PLC、台达触摸屏、法兰克机床等等多年以前玩得比较多,改造机床、维修机床、给机床编程等等,没事还能扯个零件啥的,之前也没总结过,有时间就重新整理下。
      本章后面以西门1200实物为例,下载一个基本程序。
      在这里插入图片描述


    相关博客

      《案例分享:Qt西门子PLC调试模拟工具(包含PLC上位机通讯,PLC服务器,读写Byte、Int、DInt、Real)(持续更新,当前v1.5.0)》
      《西门子PLC开发笔记(一):PLC介绍,西门子S1200系列接线、编程、下载和仿真
      《台达PLC开发笔记(一):台达PLC连接介绍,分别使用485、网口与台达PLC建立连接


    PLC

      玩得比较多的就是西门PLC,单个模块就是3K起,一个24V电源也是3K,不是土豪真心玩不起。国产机床用的比较多的就是三菱PLC、台达触摸屏这些,技术过硬,主要也是便宜点,兼容性也强。

    PLC的发展历程

      在工业生产过程中,大量的开关量顺序控制,它按照逻辑条件进行顺序动作,并按照逻辑关系进行连锁保护动作的控制,及大量离散量的数据采集。传统上,这些功能是通过气动或电气控制系统来实现的。1968年美国GM(通用汽车)公司提出取代继电气控制装置的要求,第二年,美国数字公司研制出了基于集成电路和电子技术的控制装置,首次采用程序化的手段应用于电气控制,这就是第一代可编程序控制器,称Programmable Controller(PC)。
      个人计算机(简称PC)发展起来后,为了方便,也为了反映可编程控制器的功能特点,可编程序控制器定名为Programmable Logic Controller(PLC)。
      上世纪80年代至90年代中期,是PLC发展最快的时期,年增长率一直保持为30~40%。在这时期,PLC在处理模拟量能力、数字运算能力、人机接口能力和网络能力得到大幅度提高,PLC逐渐进入过程控制领域,在某些应用上取代了在过程控制领域处于统治地位的DCS系统。
      PLC具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。PLC在工业自动化控制特别是顺序控制中的地位,在可预见的将来,是无法取代的。

    PLC的构成

      从结构上分,PLC分为固定式和组合式(模块式)两种。固定式PLC包括CPU板、I/O板、显示面板、内存块、电源等,这些元素组合成一个不可拆卸的整体。模块式PLC包括CPU模块、I/O模块、内存、电源模块、底板或机架,这些模块可以按照一定规则组合配置。

    CPU的构成

      CPU是PLC的核心,起神经中枢的作用,每套PLC至少有一个CPU,它按PLC的系统程序赋予的功能接收并存贮用户程序和数据,用扫描的方式采集由现场输入装置送来的状态或数据,并存入规定的寄存器中,同时,诊断电源和PLC内部电路的工作状态和编程过程中的语法错误等。进入运行后,从用户程序存贮器中逐条读取指令,经分析后再按指令规定的任务产生相应的控制信号,去指挥有关的控制电路。
      CPU主要由运算器、控制器、寄存器及实现它们之间联系的数据、控制及状态总线构成,CPU单元还包括外围芯片、总线接口及有关电路。内存主要用于存储程序及数据,是PLC不可缺少的组成单元。
      在使用者看来,不必要详细分析CPU的内部电路,但对各部分的工作机制还是应有足够的理解。CPU的控制器控制CPU工作,由它读取指令、解释指令及执行指令。但工作节奏由震荡信号控制。运算器用于进行数字或逻辑运算,在控制器指挥下工作。寄存器参与运算,并存储运算的中间结果,它也是在控制器指挥下工作。
      CPU速度和内存容量是PLC的重要参数,它们决定着PLC的工作速度,IO数量及软件容量等,因此限制着控制规模。

    I/O模块

      PLC与电气回路的接口,是通过输入输出部分(I/O)完成的。I/O模块集成了PLC的I/O电路,其输入暂存器反映输入信号状态,输出点反映输出锁存器状态。输入模块将电信号变换成数字信号进入PLC系统,输出模块相反。I/O分为开关量输入(DI),开关量输出(DO),模拟量输入(AI),模拟量输出(AO)等模块。
    常用的I/O分类如下:

    • 开关量:按电压水平分,有220VAC、110VAC、24VDC,按隔离方式分,有继电器隔离和晶体管隔离。
    • 模拟量:按信号类型分,有电流型(4-20mA,0-20mA)、电压型(0-10V,0-5V,-10-10V)等,按精度分,有12bit,14bit,16bit等。
      除了上述通用IO外,还有特殊IO模块,如热电阻、热电偶、脉冲等模块。
      按I/O点数确定模块规格及数量,I/O模块可多可少,但其最大数受CPU所能管理的基本配置的能力,即受最大的底板或机架槽数限制。

    电源模块

      PLC电源用于为PLC各模块的集成电路提供工作电源。同时,有的还为输入电路提供24V的工作电源。电源输入类型有:交流电源(220VAC或110VAC),直流电源(常用的为24VDC)。

    底板或机架

      大多数模块式PLC使用底板或机架,其作用是:电气上,实现各模块间的联系,使CPU能访问底板上的所有模块,机械上,实现各模块间的连接,使各模块构成一个整体。

    PLC系统的其它设备

      编程设备:编程器是PLC开发应用、监测运行、检查维护不可缺少的器件,用于编程、对系统作一些设定、监控PLC及PLC所控制的系统的工作状况,但它不直接参与现场控制运行。小编程器PLC一般有手持型编程器,目前一般由计算机(运行编程软件)充当编程器。也就是我们系统的上位机。
      人机界面:最简单的人机界面是指示灯和按钮,目前液晶屏(或触摸屏)式的一体式操作员终端应用越来越广泛,由计算机(运行组态软件)充当人机界面非常普及。

    PLC的通信联网

      依靠先进的工业网络技术可以迅速有效地收集、传送生产和管理数据。因此,网络在自动化系统集成工程中的重要性越来越显著,甚至有人提出"网络就是控制器"的观点说法。
      PLC具有通信联网的功能,它使PLC与PLC之间、PLC与上位计算机以及其他智能设备之间能够交换信息,形成一个统一的整体,实现分散集中控制。多数PLC具有RS-232接口,还有一些内置有支持各自通信协议的接口。PLC的通信现在主要采用通过多点接口(MPI)的数据通讯、PROFIBUS 或工业以太网进行联网。


    硬件设备

    西门子电源(220VAC转24VDC)

      在这里插入图片描述

    西门子S1200

      在这里插入图片描述

    接线

      在这里插入图片描述
      L与N就无所谓,220VAC正负无所谓。
      PLC下有网口,接入到PC机局域网内。


    S7-1200PLC编程软件

    下载安装软件

      编程电脑用普通的网线即可。
      安装的是:
      在这里插入图片描述
      Step7是必选的,其他看着吧,去掉wincc,这是触摸屏组态的,笔者只是需要连接和编程PLC。

      在这里插入图片描述
      时间会突然小于1分钟,提示重启,弄了好多次,发现不是正常重启,要删除注册表项:

    计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
    

      以上项的PendingFileRemameOpeaations键值(注意:是重启后,立马打开注册表,安装程序运行的时候回自己建立,所以一直刷注册表,等出现了该项,就立马删除!!!),通过以上操作,就真正开始安装了。
      在这里插入图片描述
      安装完成后,如下图:
      在这里插入图片描述

    设备连接

      西门子PLC下面有2个网口,将网口连接到PC机同一网段即可。
      经过后面论证,2个网口插哪一个都是一样的,可能是西门子为了接设备方便,多机串联,省路由器。

    开始运行查找设备

      (注意:双网口,插左边的网口扫描)
       在这里插入图片描述
      (注意:双网口,插右边的网口扫描)
      在这里插入图片描述

    查看设备并连接设备

      在这里插入图片描述
      在这里插入图片描述
      点击后发现,PLC没有设置自己的地址,反倒是把上位机PC的ip地址添加了PLC网段的了(此时,PC以太网设置上面还是显示自动获取),如下图:
      在这里插入图片描述
      在这里插入图片描述


    S7-1200项目测试编程

    新建项目

      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    添加设备

      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    编程

    添加DB块

    在这里插入图片描述

    下载到设备

      在这里插入图片描述
      (注意:开始下载失败,是因为组态部件问题,需要清空组态,不然显示组态少了部件,无法正常运行,且error灯一直闪)


    S7-PLC仿真软件

      在这里插入图片描述

      在这里插入图片描述
      在这里插入图片描述

      安装完成后如下图,必选现状STEP 7 V15.
      在这里插入图片描述
      接下来,读者可以自己创仿真项目了。


    上一篇:无
    下一篇:敬请期待…


    若该文为原创文章,转载请注明原文出处
    本文章博客地址:https://blog.csdn.net/qq21497936/article/details/115896062

    展开全文
  • 编程 包含两个使用C语言进行的套编程项目的源代码。 #PROJECT 1 =>任务是设计和实现一个用于管理银行帐户的服务器,以及一个使用TCP与该服务器进行交互以对该帐户执行交易的客户端。 服务器端->每台...
  • 课程名称嵌入式软件技术?... 一实验任务与实验目的 实验目的 掌握群星单片机驱动库关于IO编程的API函数使用及中断程序设计 实验任务 任务一:走马灯 根据上图所示的电路设计走马灯程序功能要求如下 1)闪灭时间1s; )起
  • * 5.3 ServerSocket类 ServerSocket类用服务器端侦听和响应客户机的连接请求并接收客户机发送的数据ServerSocket类的主要任务服务器端耐心地等候其他机器同它连接一旦客户机程序申请建立一个套字连接...
  • 实际应用中,多线程技术也有着非常多的使用场景,比如异步的网络请求、异步的图片加载、后台执行复杂任务等等。 iOS相关技术岗位的面试中,多线程技术更是必考项。作为开发者,我们除了能够熟练使用常用的多线程...
  • python哪里接爬虫任务?职业分类:(1)在校大学生。最好是数学或计算机相关专业,编程能力还可以的话,稍微看一下爬虫知识,主要涉及一门语言的爬虫库、Html解析、内容存储等,复杂的还需要了解URL排重、模拟登录、...
  • C# 网络编程之套编程基础知识

    千次阅读 2013-07-13 22:08:28
    最近阅读了周存杰编写的《C#网络编程实例教程》并阅读了很多相关方面的资料,同时自己也做了一些套编程方面的C#...套字(Winsock)是一种独立于协议的网络编程接口,OSI中集中会话层和传输层 (补充知识) 简单
  • 今天为大家分享一些可以私单的平台,相信大家学习编程未来是希望成为一个软件工程师或者码农,找到好的工作,有好的发展。 但是还没有找工作之前,大家可以通过一些平台一些兼职,一来能够赚钱,主页保持...
  • 5.适配器对象DataAdapter 如何将数据库的数据放在 DataSet 中 DataSet 数据集 数据库 DataSet 数据集 Connection 数据库连接 DataAdapter 数据...SQL Server 之间的桥器用于填充 DataSet 和更新数据源中的数据以匹配
  • Verilog HDL编程语言接口(待学习)

    千次阅读 2021-07-12 15:49:15
    Verilog 语言提供r 一组标准的系统任务和函数, 参见附录 C 设计时,经常会遇到一些特殊的情况,需要通过定义自己的系统任务和函数才能实现设计目标 为了做到这一点,设计者需要与表示设计的内部数据结构以及 ...
  • VxWorks网络编程

    2021-02-25 02:52:15
    以太网协议之上,提供几种网络工具:套字(Sockets)允许运行vxworks或其他主机环境下的任务相互通信。远程调用:允许一个任务唤醒实际上运行另一台机器上的过程,调用任务和被调用过程可以是运行vxworks或...
  • 题目要求 ... 从浏览器请求文件,若存在则请求成功,显示文件。... ,(这里我一一直以为反应报文里,其实不是,而是反应页面上,当代码把404改成403就会显示 HTTP ERROR 403 ) 参考 : myk的GitHub
  • 我今天要讲的是如何任务提交到线程池后取消正在运行的任务? 有线程池编程经验的朋友可能第一反应就是利用Future.cancel(boolean)方法。这个方法确实可以取消任务,但这个方法有一个缺陷。当任务队列中没有...
  • 知识点TCP客户端与服务端编程;...首先确定要连接的服务端主机IP地址及要连接的端口形成addr的二元组做为客户端套字connet函数的参数 接着要循环体中向服务器端发送数据并接受服务端的响应 代码如
  • 一上来就直接说给我开发一个什么软件,不说具体需求,没有需求文档的都不靠谱,这样的项目不要。...1、任务栈 官方网站:http://www.renwuzhan.top/task 互联网软件外包服务平台,平台以外包为主

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 554,377
精华内容 221,750
关键字:

在哪里接编程任务