QT通过ADS读取TwinCAT Vision图像并显示

本文介绍如何在QT应用中通过ADS协议读取TwinCAT Vision系统的图像数据,结合Twincat程序实现视觉图像的显示。详细配置过程可参阅链接文章。
摘要由CSDN通过智能技术生成

首先打开PLC通信

    pAddr = &Addr;

    nPort = AdsPortOpen();//打开ADS通讯端口
    nErr = AdsGetLocalAddress(pAddr);//自动获取本地地址
    if (nErr)
    {
   
        QMessageBox::about(nullptr, "Warning", QString("Error: AdsGetLocalAddress: "));
    }
    else
    {
   
        qDebug()<<"AdsPortOpen Successfully" << '\n';
    }
    pAddr->port = 851;//TC3通讯使用的为851端口

再通过ADS读取Vision图像

CString ctrlText = "MAIN.ipImageInDisp_1";
    CString strTemp = ctrlText + _T("#<<ITcVnBitmapExportRpcUnlocked>>GetBitmapSize");
    USES_CONVERSION;
    nErr = AdsSyncReadWriteReq(&Addr, ADSIGRP_SYM_HNDBYNAME, 0x0, sizeof(m_hGetBitmapSize), &m_hGetBitmapSize, static_cast<unsigned long>(strTemp.GetLength()) + 1, W2A(strTemp.GetBuffer()));
    if (nErr)
    {
   
        qDebug() << "Error: AdsSyncReadWriteReq: " << nErr << '\n';
    }
    else
    {
   
        if (m_hGetBitmapSize != 0)
        {
   
            CString strTemp = ctrlText + _T("#<<ITcVnBitmapExportRpcUnlocked>>GetBitmapImageRpcUnlocked");
            nErr = AdsSyncReadWriteReq(&Addr, ADSIGRP_SYM_HNDBYNAME, 0x0, sizeof
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值