VC++如何与SIMATIC S7-300通过TCP/IP方式进行通信 5
本人新手,这其中要牵扯到哪些呢,需要编写驱动吗,还是其它的什么?不想用WINCC,太臃肿了,还有其它方式吗,不能用串口,PLC工程师提供我了IP地址和PLC地址,我要与该...
本人新手,这其中要牵扯到哪些呢,需要编写驱动吗,还是其它的什么?不想用WINCC,太臃肿了,还有其它方式吗,不能用串口,PLC工程师提供我了IP地址和PLC地址,我要与该地址中的变量进行通信,讨论了一下,目前唯有TCP/IP方式可行,谁有过做过的经验吗,我不知道如何下手啊?能用的加分,谢谢!
展开
6个回答
展开全部
WinTcpS7.PlcClient PLC = new WinTcpS7.PlcClient();//实例化WinTcpS7通讯组件
public void butRead_Click(System.Object sender, System.EventArgs e)
{
short i = 0;
object[] RD = null;
RD = new object[Convert.ToUInt16(txtReadCnt.Text)];
if (!EntLink)
{
MessageBox.Show("还未与PLC建立联接!");
return;
}
int var1 = cmbReadType.SelectedIndex + 1;
WinTcpS7_1K.PlcClient.DataType typ = (WinTcpS7_1K .PlcClient.DataType)var1;
switch (cmbReadMry.SelectedIndex)
{
case 0:
PLC.CmdRead(PlcHand,WinTcpS7_1K.PlcClient.PlcMemory.I, typ, Convert.ToUInt16(txtReadBlock.Text), Convert.ToUInt16(txtReadAdd.Text), Convert.ToUInt16(txtReadCnt.Text), ref RD);
break;
case 1:
PLC.CmdRead(PlcHand, WinTcpS7_1K.PlcClient.PlcMemory.Q, typ, Convert.ToUInt16(txtReadBlock.Text), Convert.ToUInt16(txtReadAdd.Text), Convert.ToUInt16(txtReadCnt.Text), ref RD);
break;
case 2:
PLC.CmdRead(PlcHand, WinTcpS7_1K.PlcClient.PlcMemory.M, typ, Convert.ToUInt16(txtReadBlock.Text), Convert.ToUInt16(txtReadAdd.Text), Convert.ToUInt16(txtReadCnt.Text), ref RD);
break;
case 3:
PLC.CmdRead(PlcHand, WinTcpS7_1K.PlcClient.PlcMemory.DB, typ, Convert.ToUInt16(txtReadBlock.Text), Convert.ToUInt16(txtReadAdd.Text), Convert.ToUInt16(txtReadCnt.Text), ref RD);
break;
}
txtReRead.Text = ScanRet.ToString();
lstRead.Items.Clear();
for (i = 0; i <= (RD.Length - 1); i++)
{
if (!(RD[i] == null))
{
lstRead.Items.Add(RD[i]);
}
else
{
lstRead.Items.Add("0");
}
}
}
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP...
点击进入详情页
本回答由Storm代理提供
展开全部
西门子PLC与PC直接通讯可以用 WinTcpS7.DLL ,S7-300,S7-1200,S7-1500都可以用,网上应该找得到资源;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
VC6.0可搜索ActiveX的COM组件:WinTcpS7.DLL;
VC.NET可搜索DOTNET的程序集:WinTcpS7.DLL;
祝好运~
VC.NET可搜索DOTNET的程序集:WinTcpS7.DLL;
祝好运~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
S7 通信可以,S7通信需要通过SAPI-S7接口函数(Simple Application Programmers Interface-the layer 7 communications protocol of SIMATIC S7 systems,SIMATIC S7系统7层通信协议的简单应用程序接口)来实现。需要安装SIMATIC NET 软件和step7
追问
变量需要step7来指明吗 我做上位机的 也就是PC 是否需要下位机工程师做好step7
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
西门子提供通讯dll。等我研究一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询