我想,可以分成:信号系统,提升系统信号系统要解决:"车箱"运行策略问题;提升体统要解决"车箱"运行状态,安全保护问题最后加上车箱门的开关控制举例说:车停在2楼,3楼有人先要车向下,之后1楼有人要车向上,这时信号系统根据设定优先级判断车向什么方向运行,假设此例中应该给3楼先要车的人那么信号系统向提升系统发出提升信号,提升系统接受到信号后,控制传动系统按照设定速度向目标位前进,距目标层一定距离时减速,(位置的检测可用编码器,并在适当位置安装开关)还有保护系统也是必须的吧等等,3层还是很简单的呵呵
printf("上下选择:1-上楼,2-下楼); scanf("%d",&input_direction); fflush(stdin);printf("输入该层的乘客想到达的楼层,以-1结束\n")。
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。1972 年,为了移植与开发 UNIX *** 作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。C语言是一种广泛使用的计算机语言,它与 Java 编程语言一样普及,二者在现代软件程序员之间都得到广泛使用。
单片机是一个复杂的科目,不是说 编程复杂 也不是说电路复杂 更不是说外围元件复杂
总的说:关键你想做什么 大概帮你解答一下
单片机:有PIC STC AT 等等 想实现同样的效果 但其编程 指令 地址都不一样
所以你要选择一类开始 推荐:STC系列的
编程手段:汇编 C汇编 宏汇编
如果是业余,自己会什么优先,专业从事:汇编吧 其实也不难 虽然好不容易熟练了 换个类别的
单片机又要换学一次新的汇编语言
周边扩展功能很多,与不同的传感器连接可得到很多数据,当然有些传感器可不是编编程就OK
没点硬功夫可是不行的,专业从事单片机的后来好多都卡在了硬件上
关于你的电梯:编程有一门学问叫循环,还有一门学问叫中断,白痴学问法指针
循环就是根据选择然后跳转到对应位置,等待选择,然后再跳
中断就是你什么都不做,只等中断,要么硬中断,要么软中断
指针就是预先把所有的流程都考虑完善,然后就让指针蹦去吧
重点:思路是跟你的知识配套的,新的知识点就会让你产生新的思路
做半天电梯就有灵感了。
基于AT89C52单片机设计一个四层电梯单片机控制系统。该系统应满足的功能要求为:4层电梯运行控制,轿内外呼叫,运行状态显示。独立键盘、LED显示楼层、指示灯。
本设计采用AT89C52单片机作为核心,配以适当接口作为输入输出通道。采用三行按键矩阵开关电路作为外呼内选呼叫控制。实际电梯控制系统每层装有一个传感器,从而判断车厢所在位置,本模型由10个独立按键作为楼层到达信号传输给单片机,而后通过内部电路从串口驱动数码管显示楼层数。
当电梯到达所选层,电梯开门延时等待进人并选层,然后延时关门执行请求,若无请求则停在本层等待请求。软件部分使用C语言,利用查询方式来检测用户请求的按键信息。

本系统硬件主要由复位模块、显示系统、扩展部分、矩阵控制模块几部分组成。各模块的主要功能如下:
1) 复位的功能其一用于程序初始化,其二也用于摆脱互锁和跑飞;
2) 显示系统的功能分为显示led灯显示触发楼层数和数码管显示当前楼层数的两个部分,用于显示电梯系统此时正在运行的状态;
3) 扩展部分:因为单片机芯片的接口有限,故使用8155扩展串行口用以连接更多功能;
4) 矩阵控制模块:即内呼外叫控制程序,用于控制电梯内外电路。
最佳答案代码如下:
public class ElevatorModel implenent ElevatorModelListener{
ElevatorShaft elevatorShaft;//电梯车箱
Floor firstFloor;
Floor secondFloor;
public void addPerson(Person person);
//实现ElevatorModelListener接口的所有方法
}
public abstract class Location{
String locationName;//可能占据的三个位置firstFloor; secondFloor;elevator中的其中一个位置。
public Button getButton();
public Door getDoor();
}
public class Floor extends Location{
public Floor(String firstFloor,String secondFloor);
public Button getButton();//具体实现
public Door getDoor();//具体实现
public ElevatorShaft getElevatorShaft();
}
public class Door implenent ElevatorMoveListener{
boolean open;//门是开的关的
public void openDoor();//开门
public viod clossDoor();//关门
}
public class Button implenent ElevatorMoveListener{
boolean pressed;
public void pressButton();//按下按钮
public void resetButton();//释放按钮
public void elevatorArrived();//电梯到来
}
public class ElevatorShaft{//电梯乘箱
Elevator elevator;//电梯
Button firstFloorButton,secondFloorButton;//出发层的按钮和到达层的按钮 Door firstFloorDoor,secondFloorDoor;//出发的门和到达的门
Light firstFloorLight,secondFloorLight;//灯
//监听器
DoorListener doorListener;
ButtonListener buttonListener;
LightListener ligthListener;
BellListener bellListener;
ElevatorMoveListener elevatorMoveListener;
Set set;
}
public class Light implenent ElevatorMoveListener{
boolean lightOn;//代表灯的状态,亮或灭
public void turnOnLight();
public void turnOffLight();
public void elevatorDeparted();//具体实现
public void elevatorArrived();//具体实现
}
public class Bell implenent ElevatorMoveListener{
public void ringBell();
public void elevatorDeparted();//具体实现
public void elevatorArrived();//具体实现
}
public class Elevator extends Location implenets
ButtonListener,DoorListener,BellListener,Runable
{//电梯乘箱
boolean moving;
boolean summoned;//描述Elevator是在移动还是已经补召唤
Floor currentFloor;//当前正在提供服务的Floor
Floor destinationFloor ; //代表将要到达的Floor
Button elevatorButton;
Door elevatorDoor;
Bell bell;
public void run();// 实现
public void requestElevator();//请求Elevator并产生排队请求。 }
public class Person extends Thread{
Location类对象(或是位于Floor上,或是出处在Elevator中); int ID;
boolean moving;
public void run();//具体实现
public void enterAndRideElevator();
}
以上就是关于三层楼电梯PLC控制系统设计与调试全部的内容,包括:三层楼电梯PLC控制系统设计与调试、用C语言如何描述电梯的运行机制、怎样学好单片机 还有 plc 六层电梯程序 设计思路,,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)