산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 산업기술

복잡한 GDS 포트를 정의하고 IEC 코드에서 GDS 포트에 연결하는 방법

추상

이 기사에서는 C++의 데이터 구조와 같은 복잡한 GDS 포트를 정의하고 IEC 코드의 GDS 포트에 연결하는 방법을 설명합니다.

데이터 구조

데이터 구조를 선언하는 방법. C++를 살펴보겠습니다.

#pragma once
#include "Arp/System/Core/Arp.h"
#include "Arp/Plc/Commons/PlcTypes.h"

namespace MyComponent
{

class MyData
{
public:
    MyData() = default;
    ~MyData() = default;

public:
    Arp::boolean Valid = false;
    Arp::int16 IntegerValue = 0;
    Arp::Plc::Commons::Gds::StaticString<80> StringValue = "";
    Arp::uint8 Data[8] = {0x00};
};

} // namespace MyComponent

그리고 programm 클래스의 헤더에서 이 유형을 이제 GDS 포트로 정의할 수 있습니다.

#pragma once
...
#include "MyData.hpp"

namespace MyComponent
{

//#program
//#component(MyComponent::MyComponent)
class MyProgramm ...
{

...

public:
    //#port
    //#name(TheData)
    //#attributes(Input)
    MyData GdsPortMyData;

};

} // namespace MyComponent

GDS 포트를 IEC 코드의 GDS 포트에 연결할 수 있으려면 IEC 코드의 변수가 동일한 유형이어야 합니다. 이것은 IEC 구조가 C++ 데이터 유형과 동일한 데이터 레이아웃을 가져야 함을 의미합니다. 또한 모든 요소 이름은 C++ 유형의 요소와 일치해야 합니다.

TYPE

UDT_PROJECT_MY_DATA : STRUCT
    Valid BOOL;
    IntegerValue : INT;
    StringValue : STRING;
    Data : ARRAY [0..7] OF BYTE;
END_STRUCT;

END_TYPE

UDT_PROJECT_MY_DATA 유형의 GDS 출력 포트 이제 GDS In Port TheData에 연결할 수 있습니다. C++ 프로그램.

STRING에 대한 특별 참고 사항

STRING 데이터 유형에 대한 특별 참고 사항입니다. 현재 IEC 코드는 UTF-8 인코딩을 인식하지 못합니다. 문자열 리터럴은 ISO-8859-1 인코딩을 사용합니다. 따라서 C++ 코드의 문자열 리터럴과 비교하기 전에 UTF-8로 변환해야 할 수 있습니다. ISO-8859-1에서 UTF-8로 또는 그 반대로 변환하기 위해 boost-locale 라이브러리를 사용할 수 있습니다.

Arp::String toUtf8(const Arp::String& s)
{
    return boost::locale::conv::to_utf<char>(s.CStr(), "ISO-8859-1");
}

산업기술

  1. 7가지 일반적인 픽앤팩 오류 및 해결 방법
  2. 6가지 일반적인 물류 실수 및 방지 방법
  3. 내륙 항구가 미국 공급망을 더 잘 연결하는 방법
  4. 7가지 라스트 마일 배송 문제 및 해결 방법
  5. 4가지 사이버 공격 유형 및 예방 방법
  6. 라스트 마일 배송의 3가지 함정과 이를 피하는 방법
  7. 7가지 일반적인 배송 실수 및 방지 방법
  8. 배전반 고장의 4가지 주요 원인과 이를 피하는 방법
  9. 기계 고장의 주요 원인 및 예방 방법
  10. 상호 운용성이란 무엇이며 어떻게 우리 회사에서 이를 달성할 수 있습니까?