当前位置:首页>开发>正文

大学PLC课程设计一般有哪些题目 大学PLC课程设计一般有哪些题目

2023-04-22 11:28:10 互联网 未知 开发

 大学PLC课程设计一般有哪些题目 大学PLC课程设计一般有哪些题目

大学PLC课程设计一般有哪些题目

些机床基本控制电路原理图若其改PLC控制试画相应控制电路输入输接线图、梯形图及应指令程序
1、两台电机顺序起联锁控制电路

两台电机顺序起联锁控制线路

2.自限位控制电路

自限位控制电路

自限位控制电路

3.电机Y-Δ减压起控制电路

电机Y -Δ降压起自控制电路

电机Y -Δ降压起自控制电路
4 .自循环控制

自循环控制电路

自循环控制电路

用按钮、继电器、灯泡等设计三位抢答器控制电路

5.能耗制控制

带变压器桥式整流能耗制自控制电路

大学PLC课程设计一般有哪些题目

易的:单键启停,多地控制,电机正反转,顺启顺停,顺启逆停,两地往返

中的:彩灯(天塔之光之类的),洗衣机,交通灯,液体混合罐

难的:电梯,智能交通灯,立体车库

一般的就是简单的,中等的题目,很少有学校有难的,就算有这种题目也是简化的,比如2层的电梯,和两地往返就差不多了。

望采纳。。。。。。

数据结构的课程设计题目,请大家帮帮忙吧

给你做了一点改动,仔细看看就知道了。
#include
#include

typedef struct monkey
{
int num
struct monkey *next
} Monkey,*LINK

/*创建循环链表,容纳M个猴子。返回指向链表头结点的指针*/
LINK createList(int M)
{ LINK p,head1,p2
int i
head1=p=p2=(LINK)malloc(sizeof(Monkey))
for(i=1i {
p=(LINK)malloc(sizeof(Monkey))
p2->next=p
p2=p
}
p2->next=head1
p=head1
printf("对猴子进行编号! ")
for(i=1i<=Mi )
{
p->num=i
printf("%d号猴子:%d ",p->num,p->num)
p=p->next
}
return head1
}

/*形成循环链表*/

/*从headP指向的循环链表中选大王,数到N的猴子淘汰,将依次淘汰出来的猴子插入到headPtr2指向的链表中*/
void selectKing(LINK head,int N,int M)/*N>=2*/
{
LINK p,p2,head2=NULL
int i
i=0
p=head//p指向第一个结点

while(1)
{
i
printf("%d号猴子报:%d ",p->num,i)
if(p->next==p)
break//此为while循环的出口

if(i==N)//if语句中是删除结点的过程
{
i=0
printf("%d号猴被淘汰 ",p->num)
printf(" ")
p2->next=p->next//在此删除结点p
p=p2->next//p指向它的下一个结点
continue
}
else
{
if(i==N-1)
p2=p//保存将要退出结点的前一个结点(存到p2中)
p=p->next
printf("选出的猴子大王的编号为:%d ",p->num)//最后剩下的结点就是获胜的结点

}

}
}

int main()
{
LINK head=NULL
int M,N

printf("input the amount of monkeys:")
scanf("%d",&M) /*猴子个数*/
printf("input the count number:")
scanf("%d",&N) /*count=3,表示每次数到3的猴子出局*/

head=createList(M)/*创建循环链表*/

selectKing(head,N,M)/*选大王*/
return 0
}

数据结构课程设计题

最短路径问题
#include "datastru.h"
#include <stdio.h>
#include <malloc.h>
#define MAX 10000

MGRAPH create_mgraph(){
/*建立有向图的邻接矩阵结构*/
int i, j, k, h
MGRAPH mg

mg.kind = 3
printf(" 输入顶点数和边数(用逗号隔开) : ")
scanf("%d,%d", &i,&j)
mg.vexnum = i /*存放顶点数在mg.vexnum中 */
mg.arcnum = j /*存放边点数在mg.arcnum中*/
fflush(stdin)
for(i = 0 i < mg.vexnum i )
{ printf("输入顶点 %d 的值 : ",i 1) /*输入顶点的值*/
scanf("%d", &mg.vexs[i])
fflush(stdin)}
for(i = 0 i < mg.vexnum i ) /*邻接矩阵初始化*/
for(j = 0 j < mg.vexnum j )
mg.arcs[i][j] = MAX
for(k = 1 k <= mg.arcnum k )
{ printf("输入第 %d 条边的起始顶点和终止顶点(用逗号隔开): ",k)
scanf("%d,%d",&i,&j) /*输入弧的起始顶点和终止顶点*/
fflush(stdin)
while(i < 1 || i > mg.vexnum || j < 1 || j > mg.vexnum)
{ printf("输入错,重新输入: ")
scanf("%d,%d", &i, &j)}
printf("输入此边权值 : ") /*输入弧上之权值*/
scanf("%d", &h)
mg.arcs[i - 1][j - 1] = h}
return mg
}

main()
{
MGRAPH mg
int cost[MAXLEN][MAXLEN]
int path[MAXLEN], s[MAXLEN]
int dist[MAXLEN]
int i, j, n, v0, min, u

printf(" 求有向图单源点最短路径 ")
mg = create_mgraph() /*建立有向图的邻接矩阵结构*/
printf(" 起始顶点为 : ") /*有向图中顶点的编号从1编起*/
scanf("%d", &v0)
v0 --
n = mg.vexnum
for(i = 0 i < n i ) /*cost矩阵初始化*/
{for(j = 0 j < n j )
cost[i][j] = mg.arcs[i][j]
cost[i][i] = 0}
for(i = 0 i < n i )
{dist[i] = cost[v0][i] /*dist数组初始化*/
if(dist[i] < MAX && dist[i] > 0) /*path数组初始化*/
path[i] = v0}
for(i = 0 i < n i ) /*s数组初始化*/
s[i] = 0
s[v0] = 1
for(i = 0 i < n i ) /*按最短路径递增算法计算*/
{ min = MAX
u = v0
for(j = 0 j < n j )
if(s[j] == 0 && dist[j] < min)
{min = dist[j]
u = j}
s[u] = 1 /*u顶点是求得最短路径的顶点编号*/
for(j = 0 j < n j )
if(s[j] == 0 && dist[u] cost[u][j] < dist[j])/*调整dist*/
{dist[j] = dist[u] cost[u][j]
path[j] = u} /*path记录了路径经过的顶点*/
}
for(i = 0 i < n i ) /*打印结果*/
if(s[i] == 1)
{u = i
while(u != v0)
{printf("%d <- " , u 1)
u = path[u]}
printf("%d ", u 1)
printf(" d = %d ", dist[i]) /*有路径*/
}
else
printf("%d <- %d d= MAX ", i 1, v0 1)/*无路径*/
printf(" ")
}

最新文章