1、C#和S7-1200PLC S7.NET通信
1、字符串+浮点数+数组
2、代码
public string position1;
public string position2;
public string position3;
public string position4;
public UInt32 diInput;
public List<string> arString =new List<string>(new string[6]);//字符串;
public List<float> arPosition = new List<float>(new float[6]);//位置数组元素个数=6;
public List<bool> arInput = new List<bool>(new bool[32]);//输入数组;
public bool bTemp0;
下面我们看下,在C#里如何建结构变量。
3、如何建立结构变量
4、代码
struct udtAxis //C#区分大小写,这里都是小写;
{
public bool bEstop;//急停;
public bool bPower;//使能;
public bool bReset;//复位;
public bool bHome;//回原;
public bool bHalt;//暂停;
public bool bLimit1;//正向超程;
public bool bLimit2;//负向超程;
public float rAbsVelocity;//绝对值定位运行速度;
public float rPosition;//位置;
public float rVelocity;//速度;
public float rActPosition;//实际位置;
public float rActVelocity;//实际速度;
}
udtAxis Axis1 = new udtAxis();//建立轴1
udtAxis Axis2 = new udtAxis();//建立轴2
5、转为浮点数
6、自动转换条件(强转)
7、类型强制转换
8、转为INT类型
9、代码
void ReadData()
{
Task.Run(() =>
{
while (true)
{
for (int i = 1; i < 7; i++)
{
arPosition[i-1] = ((uint)Plc.Read("DB2.DBD" + (i * 4))).ConvertToFloat();
arString[i - 1] = arPosition[i - 1].ToString();
}
diInput = ((uint)Plc.Read("DB2.DBD44")).ConvertToInt(); //读取数据;
//读取数据1...
//读取数据2...
}
});
}
。。。。