首頁>Club>
6
回覆列表
  • 1 # 勇往直前的香瓜40

    電梯編程的原理是:

    電梯程序裡的廳外召喚指令的記憶和消除功能可以用鎖存器KEEP指令。將廳外召喚的啟動保持信號端接S端,消除信號接R端。

    在實現廳外召喚的記憶和消除功能時必須注意其記憶和消除條件。當按下一個指令按鈕或召喚按鈕,且電梯不在本樓層時,對應的PLC內部繼電器應保持該信號,而且通過PLC的輸出點亮相應的按鈕指示燈。當電梯正常到達樓層時,如果滿足該指令或召喚信號的停車條件時,電梯在該層停車,並且消除對應的指令或召喚信號。

  • 2 # 小綿羊布魯斯

    簡單的說,編程就是為了藉助於計算機來達到某一目的或解決某個問題,而使用某種程序設計語言編寫程序代碼,並最終得到結果的過程。

    計算機雖然功能十分強大。可以供你上網、打遊戲、管理公司人事關系等等,但是沒有程序,它就等於是一堆廢鐵,不會理會我們對它下達的“命令”。于是,我們要馴服它,只有通過一種方式——程序,這也是我們和計算機溝通的唯一方式。

    那程序到底是什麼呢?

    程序也就是指令的集合,它告訴計算機如何執行特殊的任務

  • 3 # 黑哥superfans

    一般電梯是採用可編程控制器(PLC)來控制電梯主要包括兩大系統,即機械系統、電氣系統。其中,機械系統主要包括的機械部件有轎廂、門、開關、門機構、門鎖、導軌、導靴、對重等。

    曳引機是電梯的動力心臟,是電梯的主要動力裝置,在電梯的運行中扮演著非常重要的角色。根據電梯使用的不同要求,電梯的驅動可以採用曳引驅動、液壓驅動、捲筒驅動及齒輪齒條、螺桿驅動。

    曳引驅動是採用曳引輪作為驅動部件。

    鋼絲繩懸掛在曳引輪上,一端懸吊轎廂,另一端懸吊對重裝置,由鋼絲繩和曳引輪槽之間的靡擦產生曳引力驅動轎廂上下運行。

  • 4 # Mars145316075

    #include#include

    usingnamespacestd;/*乘客的結構體*/

    structpassenger

    {charname;intstart;intend;intdir;

    };/*鏈表結構*/typedefstructLNode

    {undefined

    passenger P;structLNode *next;

    }LNode,*LinkList;/*將節點LN插入到鏈表C中,插入到頭結點後面*/

    voidInsert(LNode *C, LNode *LN)

    {undefined

    LN->next= C->next;

    C->next =LN;

    }/*刪除LN後的第一個節點*/

    void del(LNode *LN)

    {undefined

    LNode*next2 = LN->next;

    LN->next = next2->next;free(next2);

    }/*在鏈表C中查找到與LN節點相同的節點,並刪除*/

    void finddel(LNode *LN, LinkList C)

    {for (LNode *p = C; p->next != NULL; p = p->next)

    {if (p->next->P.name == LN->P.name)

    {undefined

    del(p);break;

    }

    }

    }/*判斷鏈表是否為空*/

    boolisempty(LinkList L)

    {if (L->next ==NULL)return 1;else

    return 0;

    }/*當電梯運行方向為dir時,

    將C中要進入電梯的節點全部存放至A中,按照進入電梯的順序存放

    並將其相應的存放在B中,按照離開電梯的順序存放*/

    void Insert2(LinkList A, LinkList B, LinkList C,intdir, intfloor)

    {for (LNode *p = C->next; p != NULL; p = p->next)

    {if (dir == 1 && p->P.start >= floor && p->P.dir == 1)

    {//查找出C中方向相同且起始樓層在電梯上方的所有節點

    LNode *r = (LNode*)malloc(sizeof(LNode));

    LNode*s = (LNode*)malloc(sizeof(LNode));

    r->P = p->P;

    s->P = p->P;for (LNode *q = A; ; q = q->next)

    {//將該節點插入A中,確保其起始樓層為升序的方式

    if (q->next == NULL || q->next->P.start >= r->P.start)

    {undefined

    Insert(q, r);break;

    }

    }for (LNode *q = B; ; q = q->next)

    {//將該節點插入B中,確保其目標樓層為升序的方式

    if (q->next == NULL || q->next->P.end >= s->P.end)

    {undefined

    Insert(q, s);break;

    }

    }

    }else if (dir == 0 && p->P.start <= floor && p->P.dir == 0)

    {undefined

    LNode*r = (LNode*)malloc(sizeof(LNode));

    LNode*s = (LNode*)malloc(sizeof(LNode));

    r->P = p->P;

    s->P = p->P;for (LNode *q = A; ; q = q->next)

    {if (q->next == NULL || q->next->P.start <= r->P.start)

    {undefined

    Insert(q, r);break;

    }

    }for (LNode *q = B; ; q = q->next)

    {if (q->next == NULL || q->next->P.end <= s->P.end)

    {undefined

    Insert(q, s);break;

    }

    }

    }

    }

    }int finds(int m, LinkList C, intdir)

    {//確定出電梯行駛方向最後停留的樓層

    if (dir == 1)

    {for (LNode *p = C->next; p != NULL; p = p->next)

    {if (mP.start)

    m= p->P.start;

    }

    }else{for (LNode *p = C->next; p != NULL; p = p->next)

    {if (m>p->P.start)

    m= p->P.start;

    }

    }returnm;

    }intmain()

    {undefined

    LinkList C= (LNode*)malloc(sizeof(LNode));

    C->next = NULL;//C為存儲所有的乘客信息的鏈表

    LinkList A = (LNode*)malloc(sizeof(LNode));

    A->next = NULL;//A為存儲某個行駛方向上,上電梯的所有乘客信息

    LinkList B = (LNode*)malloc(sizeof(LNode));

    B->next = NULL;//B為A中乘客的按下電梯順序排列

    int floor;//記錄電梯選擇運行方向時所在的樓層

    int dir;//記錄電梯運行的方向

    cout << "請輸入電梯所在樓層:";while (cin >>floor)

    {/*輸入乘客信息並創建鏈表,電梯運行的初始方向根據只要上方有乘客則向上*/cout<< "請依次輸入乘客代號、起始樓層、目標樓層、行駛方向:" <

    dir= 0;while (cin >>a)

    {undefined

    LinkList x= (LNode*)malloc(sizeof(LNode));

    x->P.name =a;

    cin>> x->P.start >> x->P.end >> x->P.dir;

    Insert(C, x);if (x->P.start >=floor)

    dir= 1;

    }/*while(cin>>str)語句在結束輸入時使用了Ctrl+Z,告訴cin用戶已經結束了輸入,

    為了讓程序正常運行,調用cin.clear()讓cin的所有條件狀態位復位*/cin.clear();/*模擬電梯行駛過程*/

    while (!isempty(C))

    {//有乘客未乘坐電梯

    Insert2(A, B, C, dir, floor);//將C中滿足條件的乘客放入A、B中

    /*乘客上下*/

    if(isempty(B))

    floor=finds(floor, C, dir);while (!isempty(B))

    {//模擬電梯往某個特定方向行駛的過程

    if (dir == 1)

    {//當電梯是向上行駛時

    if ((A->next == NULL) || (A->next->P.start > B->next->P.end))

    {//出電梯的情況

    cout << "當前樓層為" << B->next->P.end << ","

    << B->next->P.name << "出電梯" <

    finddel(B->next, C);//刪除C中對應的乘客信息

    del(B);//刪除鏈表中該乘客的信息

    }else{//進電梯的情況

    cout << "當前樓層為" << A->next->P.start << ","

    << A->next->P.name << "進電梯" <

    del(A);//刪除鏈表中該乘客的信息

    }

    }else{//當電梯是向下行駛時

    if ((A->next == NULL) || (A->next->P.start < B->next->P.end))

    {undefined

    cout<< "當前樓層為" << B->next->P.end << ","

    << B->next->P.name << "出電梯" <

    finddel(B->next, C);

    del(B);

    }else{undefined

    cout<< "當前樓層為" << A->next->P.start << ","

    << A->next->P.name << "進電梯" <

    del(A);

    }

    }if (B->next != NULL && B->next->next ==NULL)

    {undefined

    floor= finds(B->next->P.end, C, dir);

    }

    }

    dir= !dir;//改變行駛方向

    }/**/cout<< endl <

    cout<< "請輸入電梯所在樓層:";

    }

    system("pause");

    }

  • 中秋節和大豐收的關聯?
  • vivo手機怎麼設置應用指紋解鎖?