⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 input_link.cpp

📁 开发虚拟的被控对象及虚拟的PLC,模似PLC的工作过程进行实验。用户可根据具体的实验,确定其输入和输出的控制条件,用虚拟的连线和虚拟的PLC连接,用户利用梯形图的编程方式编写PLC程序控制被控对象的动
💻 CPP
字号:
#include "stdafx.h"
#include "PLC_DEMO.h"
#include "PLC_DEMODoc.h"
#include "PLC_DEMOView.h"

bool inputenable=false;
bool inputcheck=false;
bool switchcheck=false;
int startx,starty,startsign;
int stockinputlink[7][7];
int stocknumber=0;
int currentlinksign=0;
extern CPLC_DEMOView *fordraw;

void inputfetchdraw()
{
	CDC* thisDC=fordraw->GetDC();
	CPen blackpen(PS_SOLID,2,RGB(0,0,0));
	CPen *old=thisDC->SelectObject(&blackpen);
	for(int i=0;i<7;i++)
	{
		if(stockinputlink[i][0])
		{
			thisDC->MoveTo(stockinputlink[i][3],
				stockinputlink[i][4]);
		    thisDC->LineTo(stockinputlink[i][5],
				stockinputlink[i][6]);
		}
	}
	thisDC->SelectObject(old);
	fordraw->ReleaseDC(thisDC);
}
void inputfetchlink(int i,int j,int m,int n)
{
	currentlinksign=1;
	if(inputcheck&&switchcheck)
	{
		if(stocknumber>=7)
		{
			CString link;
		    link.Format("连线已达到最大范围,不能再连线");
		    AfxMessageBox(link);
		}
		else
		{
			stockinputlink[stocknumber][0]=1;
		    if(i)
			{
				stockinputlink[stocknumber][1]=i;
			    stockinputlink[stocknumber][2]=startsign;
			    stockinputlink[stocknumber][3]=m;
			    stockinputlink[stocknumber][4]=n;
			    stockinputlink[stocknumber][5]=startx;
			    stockinputlink[stocknumber][6]=starty;
			}
		    else
			{
			    stockinputlink[stocknumber][1]=startsign;
			    stockinputlink[stocknumber][2]=j;
			    stockinputlink[stocknumber][3]=startx;
			    stockinputlink[stocknumber][4]=starty;
			    stockinputlink[stocknumber][5]=m;
			    stockinputlink[stocknumber][6]=n;
			}
		    stocknumber++;
		    inputcheck=false;
		    switchcheck=false;
		    inputfetchdraw();	
		}
	}
   else
   {
	   startx=m;
       starty=n;
	   if(i)
		   startsign=i;
	   else startsign=j;
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -