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

C#으로 PLCnext 콘솔 애플리케이션 개발하기: 초보자 가이드

이 튜토리얼은 PLCnext Control 장치용 간단한 'Hello World' 콘솔 애플리케이션을 만드는 방법을 보여줍니다. 애플리케이션은 C#으로 작성되며 .NET Core를 타겟으로 합니다.

이 튜토리얼은 PLCnext 런타임 완전히 외부에서 실행되는 C# 애플리케이션을 위한 것입니다. eCLR을 타겟으로 하는 C# 애플리케이션은 PLCnext Info Center의 eCLR 섹션을 참조하세요.

설치 튜토리얼에서는 PLC에 .NET Core를 설치하는 방법을 보여주었습니다. 그 경우 공통 .NET dll의 최소 중복으로 PLC에서 .NET Core를 타겟으로 하는 여러 애플리케이션을 실행할 수 있습니다.

대안으로, .NET Core 프레임워크가 설치되지 않은 PLC에서 .NET Core 애플리케이션을 실행할 수 있습니다. 이 경우 애플리케이션에 필요한 모든 .NET 종속성이 애플리케이션과 함께 배포됩니다. PLC에서 단 하나의 .NET Core 애플리케이션만 필요한 프로젝트에 적합할 수 있습니다.

이 튜토리얼은 두 번째 유형의 애플리케이션을 다룹니다.

이 튜토리얼에서는 다음을 사용합니다:

절차

  1. Visual Studio에서 'C# 콘솔 앱 (.NET Core)' 템플릿을 사용하여 새 프로젝트를 생성합니다.

  2. 프로젝트 루트 디렉토리에 runtimeconfig.template.json 파일을 추가하고 다음 내용을 포함시킵니다:

    {
      "configProperties": {
        "System.Globalization.Invariant": true
      }
    }
    

    이 속성 설정의 이유는 설치 튜토리얼의 '배경 정보' 섹션에 설명되어 있습니다.

  3. 프로젝트 파일(.csproj)의 PropertyGroup 섹션에 다음 줄을 추가합니다:

    <RuntimeIdentifiers>linux-arm</RuntimeIdentifiers>
    

    이것은 컴파일러에게 Linux 32비트 플랫폼을 타겟으로 하라고 지시합니다. .csproj 파일은 다음과 비슷해야 합니다:

    <Project sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp3.1</TargetFramework>
        <RuntimeIdentifiers>linux-arm</RuntimeIdentifiers>
      </PropertyGroup>
      </Project>
    
  4. 솔루션 탐색기에서 솔루션을 마우스 오른쪽 버튼으로 클릭하고 터미널을 엽니다.

  5. 터미널에서 다음 명령어를 실행합니다:

    dotnet build ConsoleApp1.csproj
    dotnet publish -c RELEASE -r linux-arm ConsoleApp1.csproj -o MyApp
    

    ConsoleApp1은 솔루션 이름이고, MyApp은 애플리케이션이 게시될 출력 디렉토리 이름입니다. 필요시 DEBUG 모드로도 게시할 수 있습니다.

  6. 출력 디렉토리와 그 내용을 (예: WinSCP를 사용하여) PLC로 복사합니다.

  7. (예: PuTTY 또는 ssh를 사용하여) PLC에서 셸 세션을 엽니다.

  8. 실행 파일 형식 확인:

    file /opt/plcnext/MyApp/ConsoleApp1
    ConsoleApp1: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=887a06cd9735de5da4b686517f69d68779571cec, stripped
    

    애플리케이션이 올바른 플랫폼용으로 빌드되었음을 확인합니다.

  9. 실행 파일에 실행 권한이 있는지 확인합니다:

    chmod a+x /opt/plcnext/MyApp/ConsoleApp1
    
  10. 애플리케이션 실행:

    /opt/plcnext/MyApp/ConsoleApp1
    Hello World!
    

질문/의견?

질문이나 의견이 있으시면 PLCnext 커뮤니티 포럼에서 문의하세요.

산업기술

  1. 마찰 없는 사용자 경험 만들기: UX 디자인 청사진
  2. VHDL 문자열 리스트 구현: 모범 사례와 예제
  3. VHDL 자가 검증 테스트벤치 구축 실전 가이드
  4. Java 객체 배열 생성하기: 단계별 완벽 가이드
  5. 비즈니스 인텔리전스 마스터하기: 데이터 주도 성공을 위한 승리 전략 수립
  6. 알리바바 클라우드 커넥터를 PLCnext와 통합하기: 단계별 가이드
  7. PLCnext에서 클러스터 관리: Kubernetes로 산업 자동화 활용하기
  8. Jlink로 PLCnext Control에서 Java 9 앱 최적화하기
  9. 다중 공차 충돌이 비용과 품질에 미치는 영향 방지
  10. BEV용 첨단 저항 점용접에 구리-텅스텐 활용