Chuyển đến nội dung chính

KẾT NỐI PC VỚI PLC S7-1200 QUA OPC SEVER TRÊN GIAO DIỆN C# VÀ ỨNG DỤNG



CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ PLC S7-1200 CỦA SIEMEN

Board tín hiệu là một dạng modul mở rộng tín hiệu vào/ra với số lượng tín hiệu ít, giúp tiết kiệm chi phí cho các ứng dụng yêu cầu mở rộng số lượng tín hiệu ít.

Modul mở rộng tín hiệu vào,ra
Các modul mở rộng tín hiệu vào/ra được gắn trực tiếp vào phía bên phải của CPU.Với dải rộng các loại modul tín hiệu vào/ra số và analog, giúp linh hoạt trong sử dụng S7-1200. Tính đa dạng của cá modul tín hiệu vào/ra sẽ được tiếp tục phát triển.

Modul truyền thông
Bên cạnh truyền thông Ethernet được tích hợp sẵn, CPU S7-1200 có thể mở rộng được 3 modul truyền thông khác nhau, giúp cho việc kết nối được linh hoạt hơn. Tại thời điểm giới thiệu S7-200 ra thị trường, có các modul RS232 và RS485, hỗ trợ các protocol truyền thông như modbus, USS…



CHƯƠNG 2: GIỚI THIỆU TIA PORTAL, PC ACCESS VÀ NGÔN NGỮ C# 
5
2.1 Phần mềm lập trình TIA PORTAL

Phần mềm dùng để lập trình cho S7-1200 là Step7 Basic. Step7 Basic hỗ trợ ba ngôn ngữ lập trình là FBD, LAD và SCL. Phần mềm này được tích hợp trong TIA Portal 11 của Siemens.

2.2 Phần mềm PC AccessPC Access

 Là phần mềm của Siemens dùng để truy xuất dữ liệu từ một số PLC của hãng. PC Access hoạt động thông qua OPC Server, vốn được chuẩn hóa bởi OPC Foundation.
PC Access cung cấp thư viện bổ sung cho Excel, Protool, VB nhằm kết nối PLC với PC từ các chương trình này.Hạn chế của PC Access trong việc tạo OPC sever cho S7-1200:PC Access được thiết kế chủ yếu dành cho dòng PLC S7-200, tuy nhiên có thể dùng được với PLC S7-1200, nhưng chỉ có các thẻ dữ liệu trong khối dữ liệu DB1 của S7- 1200 mới có thể được truy cập, nguyên nhân là do S7-200 chỉ có một khối dữ liệu.2.3 Ngôn ngữ lập trình C# và ứng dụngC# là một ngôn ngữ lập trình ứng dụng, ngôn ngữ biên dịch, ngôn ngữ đa năng được phát triển bởi hãng Microsoft, là một phần khởi đầu cho kế hoạch .NET. Microsoft phát triển C# dựa trên C, C++ và Java. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java…

Ưu điểm nổi trội so với các ngôn ngữ khác:
- C# là ngôn ngữ đơn giản, có ít từ khóa
- C# là ngôn ngữ hiện đại
- C# là ngôn ngữ hướng đối tượng, hướng module
- C# là ngôn ngữ mạnh mẽ và mềm dẻo


CHƯƠNG 3: TỔNG QUAN VỀ OPC SERVER 
3.1 OPC Server


- OPC dựa trên Microsoft Component Object Model (COM)
- OPC được viết tắt từ “OLE for Process Control”.
- OPC được điều hành bởi tổ chức độc lập: OPC Foundation (www.opcfoundation.org)
- OPC chuẩn hóa cách liên kết giữa các phần mềm trong ngành tự động công nghiệp.
- OPC Server là một ứng dụng hoạt động như một API (giao diện lập trình ứng dụng) hoặc là một bộ chuyển đổi giao thức.
- Một OPC Server sẽ kết nối với các thiết bị như PLC (Programable Logic Controller - bộ điều khiển lập trình được), DCS (Distributed control system - hệ điều khiển phân tán), RTU (Remote Terminal Unit), cơ sở dữ liệu…rồi chuyển đổi dữ liệu sang định dạng OPC chuẩn.
3.2 OPC Client

Những ứng dụng OPC (OPC Client) như HMI, bộ ghi dữ liệu, bảng biểu, vẽ đồ thị… có thể kết nối với OPC Server rồi đọc/ghi dữ liệu lên thiết bị.” Trong project này ta sẽ nghiên cứu cách kết nối C# với một OPC Server, như vậy C# sẽ là một OPC Client. OPC Server ở đây sẽ là Simatic S7-200 PC Access OPC Server 
  3.3 Một số thuật ngữ trong OPC


OPC Object 
– một đối tượng được client tạo ra và dùng để kết nối đến OPC Server, đối tượng đã được định danh này – sau đó dùng để đọc và ghi dữ liệu đến PLC, DCS… thông qua OPC Server.

OPC Item 
- một tag hay một biến dữ liệu được quản lý bởi OPC Server - tức là một biến dữ liệu trong một PLC.

OPC Group
 - một nhóm OPC item được người dùng định nghĩa. Được tạo ra bởi các OPC client như là một cách thức quản lý một nhóm dữ liệu – một nhóm biến điều khiển trên một thiết bị.

Collection
 - một nhóm các đối tượng có kiểu dữ liệu giống nhau.

3.4 Tạo kết nối giữa C# và OPC

Bước 1: Khai báo

private OpcServer TheSvr; Khởi tạo đối tượng OPCServer và OPCGroup, những đối tượng này xem như được mặc định
private OpcGroup TheGrp; với OPCServer cho một phiên làm việc mà client kết nối đến.
private S7200 PLC = new S7200(); Khai báo tên của PLC sử dụng trong chương
trình.

Bước 2: Kết nối OPC Sever

TheSvr = new OpcServer();         Tạo một đối tượng OPC Sever mới.
const string ServerProgID = "Program"; Khai báo tên máy chủ để kết nối đến
“SeverProgID”.
TheSvr.Connect(ServerProgID); Kết nối sever với tên máy chủ đã khai
báo
Bước 3: Tạo OPC Group
TheGrp = TheSvr.AddGroup("abc", false, 187500); Thêm một Group mới vào
Group Collection
TheGrp.SetEnable(true);
TheGrp.Active = true;
Kích hoạt Group

Bước 4: Ghi/Đọc giá trị lên PLC 
PLC.write_PLC(TheGrp, "A", "B", "C"); Ghi dữ liệu lên PLC
A – Địa chỉ/Biến PLC cần ghi dữ
liệu.
B – Giá trị cần ghi
C – Kiểu của biến/địa chỉ PLC
PLC.read_PLC_bool(TheGrp, "D"); Đọc dữ liệu từ PLC (kiểu bool)
D – Địa chỉ/ biến PLC cần đọc dữ
liệu

CHƯƠNG 4: KẾT NỐI PLC S7-1200 VỚI C# QUA OPC SERVER TẠO BỞI PC
ACCESS

4.1 Thiết lập cấu hình cho PLC trên TIA PORTAL

Bước 1: Tạo một Project mới

Khởi động phần mềm TIA PORTAL V11 → Chọn
“Creat new project” → Đặt tên và chọn nơi lưu trữ cho project → “Creat”

Bước 2: Thiết lập cấu hình cho PLC

Sau khi tạo được project mới ta có giao diện Portal view


   
Có thể chuyển giữa 2 chế độ xem “Project view” “Portal view” bằng cách ấn vào 1 trong 2 vùng khoanh tròn trong trên. Chọn module và version của PLC hiện có, ví dụ ở trong project này “Configure a device” → “Add new device” → “PLC” → “SIMATIC S7-1200” → “CPU”→“CPU 1211C AC/DC/Rly” → “6ES7 211-1BD30-0XB0” → Version “v2.0”


Đặt lại tên cho PLC tại ô “Device name” chọn “Add” để thêm PLC vừa tạo vào project

Bước 3: Thiết lập địa chỉ IP cho PLC

Sau khi thêm PLC mới vào project ta có giao diện



Để phần mềm TIA PORTAL có thể kết nối với PLC ta cần thay đổi địa chỉ IP
trên PLC vừa tạo trùng với địa chỉ IP của PLC hiện có.

   Trên PLC vừa tạo ta chọn cổng Ethernet → Trong cửa sổ thuộc tính PLC được khoanh đỏ trong hình  ta chọn thẻ “Properties” → Trong thẻ “General” chọn
theo đường dẫn
“PROFINET interface” → “Ethernet addresses”Trong mục “IP protocol” ta thay đổi “IP address”. Ví dụ ở đây PLC thật có địa
chỉ IP :
192.168.0.1

Bước 4: Thay đổi địa chỉ IP của máy tính
   Cần thay đổi địa chỉ IP của máy tính có dạng
192.168.0.xyz có dạng giống với
IP của PLC
192.168.0.1 trong đó “xyz” phải khác IP của PLC.
Đối với Win 7 :
“Control Panel”

→“Network and Sharing

Center”

→“Change adapter settings”

→“Local Area Connection”

→“Internet Protocol Version 4

(TCP/IPv4)”

→“Properties”
→”Ok”
→”Ok”

Bước 5: Lập trình LAD cho PLC S7-1200

Trong cửa sổ “Project tree” chọn theo đường dẫn đến mục “Program blocks”.
Chọn
“Main [OB1]” để mở giao diện lập
trình.


Bước 6: Tải chương trình xuống PLC
   Sau khi đã lập trình xong để nạp chương trình cho PLC:“Online” → “Download to device”Trong cửa sổ “Extended download to device” hiện ra, trong lựa chọn “PG/PC interface” ta chọn cổng Ethernet của máy tính → Đợi phần mềm tìm đến PLC được kết nối (tích vào “Show all accessible devices” nếu không tìm thấy PLC)
Sau khi đã kết nối được PLC → Chọn PLC và ấn nút
“Load” → Tiếp tục làm
theo hướng dẫn cho đến khi
“Finish” 

4.2 Tạo OPC Server trên PC Access  
 
Bước 2: Thêm PLC mới
   Chọn
"Edit → New → PLC" một cửa sổ "PLC properties" hiện ra để thiết lập
thuộc tính.
Name: "S7-1200_PLC" (Đặt tên PLC)
IP Address: "192.168.0.1" (Địa chỉ IP của PLC)
TSAP Local: "10.00." (TSAP của PC Access)
TSAP Remote: "03.01." (TSAP của S7-1200 PLC)
 
 

Bước 3: Thêm các Item
Chọn
"Edit → New → Item" cửa sổ “Item properties” hiện ra cho phép nhập các
thông số:
Tên của Item "Name:" input field.
Địa chỉ của thẻ "Address:" input field.
Chọn kiểu dữ liệu "Data Type:" input field



Bước 4: Lưu project“File → Save”  

Bước 5: Giám sát và chạy thử
Chọn các Item cần giám sát → Chọn nút
"Add current items to test client" trên
thanh công cụ. Các Item được chọn sẽ được chuyển xuống của sổ
“Test Client”  

Kết nối PLC S7-1200 với máy tính.
Sau đó để bắt đầu chạy thử chọn nút
"Start Test Client" trên thanh công cụ. Nếu
cột
“Quality” trong khung “Test Client” có giá trị là “Good” tức là quá trình kết nối
tới PLC thành công.
 

4.3 Tạo ứng dụng trên C# kết nối đến OPC Server
Bước 1: Tạo project mới“File” → “New” → “Project”


Trong cửa sổ “New project” chọn “Visual C#” → “Windows Froms Application” → Đặt tên và chọn nơi lưu cho project trong “Name” “Location”→ “Ok” 

Để thuận tiện cho lập trình ta cho hiển thị các thanh công cụ “Tool box”,“Solution Explorer”, “Properties” bằng cách vào “View” chọn đến thanh công cụ
cần hiển thị. Ta được giao diện như hình sau:
 


Bước 2: Thêm thư viện OPC Sever
Trong khung
“Solution Explorer” → Click chuột trái vào “References” “Add Reference…  

Trong cửa sổ “Reference Manager” → Chọn “Browe…” → Thêm file thư việnSiemensOPCdotNETLib.dll “Ok”  
“SiemensOPCdotNETLib.dll” là thư viện chứa các đối tượng, thuôc tính, các câu
lệnh, các hàm nhằm thực hiện kết nối đến OPC Sever.

Bước 3: Lập trình file khởi tạo OPC Server
Trong khung
“Solution Explorer” → Click chuột trái vào tên project, ví dụ
“app_da_cn” →
“Add” → “New item…”  

Trong của sổ “Add new item” → “Visual C# Item” → “Windows Form” → Đặt
tên cho Windows form mới → “Add” 

Chèn code tạo OPC Sever trong phần Phục lục 1 và lưu lạiChú ý: Trong dòng lệnh "MicroWin:2:192.168.0.1:1000:0301," thì địa chỉ (192.168.0.1) chính là địa chỉ PLC, vì vậy trong code cần sửa lại tất cả về địa chỉ PLC hiện có.
Bước 4: Lập trình ứng dụng
Tại cửa sổ
“Form1.cs [Design]” ta có thể lấy các Button, Lable, TextBox, … từ thanh “Toolbox” để xây dựng giao diện theo yêu cầu.
Trong khung
“Properties” ta chỉnh lại các thuộc tính và tên của các đối tượng sao cho hợp lý và dễ sử dụng.
Để lập trình các hành động cho đối tượng ta kích chuột trái vào Form →
“View code”.
Một số đối tượng và thuộc tính thường được sử dụng trong quá trình lập trình:  

CHƯƠNG 5: ỨNG DỤNG BỘ CHUYỂN ĐỔI NGUỒN ĐIỆN TỰ ĐỘNG
5.1 Mô tả công nghệ
Hộ tiêu thụ điện được cấp điện từ 2 nguồn, 1 là từ điện áp lưới, 2 là từ hệ thống
máy phát dự phòng.
Rơle RL báo điện áp lưới, tiếp điểm của nó được đưa vào PLC
Rơle RF báo điện áp từ máy phát điện, tiếp điểm của nó cũng được đưa vào PLC
Các thao tác vận hành, khởi động và đóng máy phát dự phòng được thực hiện như
sau:

Khi mất điện áp lưới (UL=0):
Ấn nút Start → ON 1s, OFF 10s động cơ đề cho động cơ Diezen. Quá trình
này được lặp đi lặp lại 3 lần cho đến khi có điện áp từ máy phát (UF=1) thì
thôi. Trường hợp sau 3 lần thử khởi động máy phát không thành công thì hệ sẽ
dừng.

Khi mất UL=0 và có UF=1 (đã khởi động được máy phát):
Chuyển sang cấp điện cho hộ tiêu thụ từ nguồn máy phát. Hay là CF ON 1s.
Khi có lại UL=1 và đang có UF=1:
Đợi 2 phút để chắc chắn có điện lưới lại. Chuyển tải sang điện lưới CL ON 1s.
Sau đó dừng máy phát ON 1s.
5.2 Phân cổng vào ra  
5.3 Lưu đồ chương trình  

5.4 Giao diện chương trình ứng dụng  

5.5 Lựa chọn thiết bị
Hệ thống được thiết kế cấp điện cho một hộ gia đình nên nguồn cung cấp sẽ là điệnxoay chiều một pha và máy phát điện xoay chiều cùng có U=220V và f=50Hz.Contactor đảo chiều: được thiết kế cho một số ứng dụng cụ thể, thực chất về cấu tạo gồm 2 contactor thường ghép nối qua một thiết bị để chỉ có thể một trong hai Contactor ở trạng thái đóng.  
Rơle trung gian: chức năng trung gian báo điện áp lưới, đóng cắt khởi động
động cơ đề.
 
Thông số kỹ thuật:
- Điện áp cuộn dây: 220/240VAC
- 8 chân, 2 cặp tiếp điểm
- Relay công suất loại nhỏ 3-5A
- Tiếp điểm chịu được điện áp tới 2000 VAC,

5.6 Sơ đồ nguyên lý

Nguyên lý:
Điện áp lưới và điện áp máy phát được phát hiện và đưa về PLC thông qua các tiếp điểm thường đóng của 2 rơle trung gian, do khi mất điện áp tiếp điểm thường mở của rơle sẽ đóng báo tín hiệu về PLC.
Đầu ra của PLC sẽ điều khiển hoạt động của contactor đảo chiều (chuyển mạch), ưu điểm của loại contactor này là chỉ có một trong hai nguồn điện đến được với hộ tiêu thụ, hạn chế sự cố khi cả hai nguộn cung cấp cho một tải.
 
5.7 Sơ đồ đấu dây
KẾT LUẬN


     Có nhiều cách khác nhau để có thể kết nối giữa PC và PLC, nhưng qua việc thực hiện. Nghiên cứu này ta đã hiểu được một cách cơ bản về việc thực hiện truyền nhận dữ liệu giữa PLC và PC. Thông qua việc tìm hiểu một giao thức cụ thể là OPC Sever và sử dụng ngôn ngữ C# để tạo giao diện giám sát trên PC.
    Qua đó cũng đi vào xây dựng một số ứng dụng cụ thể như hệ thống đèn giao thông hay bộ chuyển đổi nguồn tự động để áp dụng những nội dụng tìm hiểu được vào thực tiễn. Hai ứng dụng tuy đơn giản nhưng đã đầy đủ các bước cơ bản để tiến hành thiết kế một hệ thống giám sát điều khiển từ xa.
    Trong nghiên cứu này công cụ để tạo lên OPC sever là phần mềm PC Access, tuy nhiên còn rất nhiều phần mềm khác có thể tạo nên một OPC Sever, giúp trao đổi dữ liệu giữa PC và PLC. Cũng như vậy, còn nhiều cách khác nhau để giao tiếp giữa PC và PLC, vì vậy, việc tìm hiểu các giao thức này sẽ giúp tìm ra được ưu và nhược điểm của từng phương pháp. Đồng thời giúp quá trình thiết kế hệ thống giám sát sau này xác định được những phương pháp giao tiếp phù hợp với từng ứng dụng.

Code tạo kết nối giữa PC-Access với C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using OPC.Common;
using OPC.Data.Interface;
using OPC.Data;
public class S7200
{public void write_PLC(OpcGroup TheGrp, string Address, string Value, string Type)
{
string diachi = "MicroWin:2:192.168.1.23:1000:0301," + Address + "," + Type +",RW";OPCItemDef[] ItemDefs_ = new OPCItemDef[1];
OPCItemResult[] rItm_;
int[] HandlesSrv_ = new int[1];
int[] arrErr_ = new int[1];
object[] arrVal_ = new object[1];
ItemDefs_[0] =
new OPCItemDef(diachi, true, 1234, VarEnum.VT_EMPTY);
TheGrp.AddItems(ItemDefs_,
out rItm_);
if (rItm_ == null) return;
HandlesSrv_[0] = rItm_[0].HandleServer;
arrVal_[0] = Value;
TheGrp.SyncWrite(HandlesSrv_, arrVal_,
out arrErr_);
}
public bool read_PLC_bool(OpcGroup TheGrp, string Address)
{
string diachi = "MicroWin:2:192.168.1.23:1000:0301," + Address + "," +"BOOL,RW";
OPCItemDef[] ItemDefs_ = new OPCItemDef[1];
OPCItemResult[] rItm_;
OPCItemState[] arrStat_ = null;
int[] HandlesSrv_ = new int[1];
int[] arrErr_ = new int[1];
object[] arrVal_ = new object[1];
ItemDefs_[0] =
new OPCItemDef(diachi, true, 1234, VarEnum.VT_EMPTY);
TheGrp.AddItems(ItemDefs_,
out rItm_);
HandlesSrv_[0] = rItm_[0].HandleServer;
TheGrp.SyncRead(
OPCDATASOURCE.OPC_DS_DEVICE, HandlesSrv_, out arrStat_);
return bool.Parse(arrStat_[0].DataValue.ToString());
}
public int read_word(OpcGroup TheGrp, string Address)
{
string diachi = "MicroWin:2:192.168.1.69:1000:0301," + Address + "," +"WORD,RW";
OPCItemDef[] ItemDefs_ = new OPCItemDef[1];
OPCItemResult[] rItm_;
OPCItemState[] arrStat_ = null;
int[] HandlesSrv_ = new int[1];
int[] arrErr_ = new int[1];
object[] arrVal_ = new object[1];
ItemDefs_[0] =
new OPCItemDef(diachi, true, 1234, VarEnum.VT_EMPTY);
TheGrp.AddItems(ItemDefs_,
out rItm_);
HandlesSrv_[0] = rItm_[0].HandleServer;
TheGrp.SyncRead(
OPCDATASOURCE.OPC_DS_DEVICE, HandlesSrv_, out arrStat_);
return int.Parse(arrStat_[0].DataValue.ToString());
}
public byte read_byte(OpcGroup TheGrp, string Address)
{
string diachi = "MicroWin:2:192.168.1.23:1000:0301," + Address + "," +"BYTE,RW";
OPCItemDef[] ItemDefs_ = new OPCItemDef[1];
OPCItemResult[] rItm_;
OPCItemState[] arrStat_ = null;
int[] HandlesSrv_ = new int[1];
int[] arrErr_ = new int[1];
object[] arrVal_ = new object[1];
ItemDefs_[0] =
new OPCItemDef(diachi, true, 1234, VarEnum.VT_EMPTY);
30TheGrp.AddItems(ItemDefs_, out rItm_);
HandlesSrv_[0] = rItm_[0].HandleServer;
TheGrp.SyncRead(
OPCDATASOURCE.OPC_DS_DEVICE, HandlesSrv_, out arrStat_);return byte.Parse(arrStat_[0].DataValue.ToString());
}
public long read_dword(OpcGroup TheGrp, string Address)
{
string diachi = "MicroWin:2:192.168.1.23:1000:0301," + Address + "," +"DWORD,RW";
OPCItemDef[] ItemDefs_ = new OPCItemDef[1];
OPCItemResult[] rItm_;
OPCItemState[] arrStat_ = null;
int[] HandlesSrv_ = new int[1];
int[] arrErr_ = new int[1];
object[] arrVal_ = new object[1];
ItemDefs_[0] =
new OPCItemDef(diachi, true, 1234, VarEnum.VT_EMPTY);
TheGrp.AddItems(ItemDefs_,
out rItm_);
HandlesSrv_[0] = rItm_[0].HandleServer;
TheGrp.SyncRead(
OPCDATASOURCE.OPC_DS_DEVICE, HandlesSrv_, out arrStat_);return long.Parse(arrStat_[0].DataValue.ToString());
}
public float read_float(OpcGroup TheGrp, string Address)
{
string diachi = "MicroWin:2:192.168.1.23:1000:0301," + Address + "," +"DWORD,RW";
OPCItemDef[] ItemDefs_ = new OPCItemDef[1];
OPCItemResult[] rItm_;
OPCItemState[] arrStat_ = null;
int[] HandlesSrv_ = new int[1];
int[] arrErr_ = new int[1];
object[] arrVal_ = new object[1];
ItemDefs_[0] =
new OPCItemDef(diachi, true, 1234, VarEnum.VT_EMPTY);
TheGrp.AddItems(ItemDefs_,
out rItm_);
HandlesSrv_[0] = rItm_[0].HandleServer;
TheGrp.SyncRead(
OPCDATASOURCE.OPC_DS_DEVICE, HandlesSrv_, out arrStat_);return float.Parse(arrStat_[0].DataValue.ToString());
}
 

TÀI LIỆU THAM KHẢO

[1] S7-1200 Programmable controller, System Manual, Siemens, 04/2012,

A5E02486680-06.

[2] SIMATIC, S7-1200 Easy Book, Manual, Siemens, 11/2009, A5E02486774-01

[3] http://support.automation.siemens.com

[4] OLE Process Control Data Access Automation Interface Standard

Version 2.01, January 6, 1999

Version 2.02, February 4, 1999
[5] Using Visual Basic As An OPC Client, Presentation Updated 3/2001
John Weber, President & Founder, Software Toolbox, Inc.
jweber@softwaretoolbox.com, website: http://softwaretoolbox.com


  

Nhận xét

Bài đăng phổ biến từ blog này

Ứng dụng C# trong lập trình hệ thống Scada

CHƯƠNG 1: NGÔN NGỮ CƠ BẢN C# I. MÔI TRƯƠNG LẬP TRÌNH 1. Sử dụng notepad soạn thảo Bước 1: soạn thảo tập tin và lưu tập tin C:\thanhhuy.cs có nội dung như sau: class thanhhuy { static void main ()    { //xuất hiện ra màn hình chuỗi thông báo 'chào mừng bạn đến với thanhhuy auto' System.Console.WriteLine ("chào mừng bạn đến với thanhhuy auto"); System.Console.ReadLine();     } } Bước 2: Vào menu Start/All Programe/Visul studio 2013/ Visul studio Tools/ Visual studio 2013 Command Prompt Bước 3: Gõ lệnh biên dịch tập tin thanhhuy.cs thành tập tin thanhhhuy.exe C:\> csc /t:exe /out:thanhhhuy.exe thanhhuy.cs Chạy tập tin ChaoMung.exe và được kết quả như sau : C:\> thanhhuy .exe Chào mừng bạn đến với thanhhuy auto 2. Sử dụng Micosoft Visual Studio 2013 để tạo chương trình   Bước 1 : Khởi động Visual Studio 2013 Start | All Programs | Microsoft Visual Studio 2013 | Microsoft Visual Studio 2013 Bước 2 : Vào menu File | New | Project Bước 3

TRUYỀN THÔNG PROFIBUS DP HUẤN LUYỆN

SIEMENS NETWORK PROFIBUS-DP ĐẶC ĐIỂM PROFIBUS-DP  Truyền thông theo chuẩn nối tiếp RS_485.  Tốc độ truyền: 9,6kbps đến 12mbps  Khoảng cách truyền:100m đến 1000m     Gần đến 93.75 K baud : 1200 m  187.5 K baud : 1000 m  500 K baud : 400 m  1 đến 1.5 M baud : 200 m  3 đến 12 M baud : 100 m     Trao đổi dữ liệu theo cơ chế Master/Slave  S7300 hoặc S7400 có thể làm Master.  Tổng số trạm tối đa trong một mạng là 126.  Tổng số trạm trong một đoạn là 32    Trao đổi dữ liệu theo cơ chế Master/ Slave PROFIBUS-DP S7300 or S7400 & S7200   ĐẶC ĐIỂM  Chỉ có S7300 or S7400 mới làm Master.  CPU sử dụng là loại có giao tiếp DP (CPU 313 – 2DP, CPU 414 – 2DP...)  S7200 giao tiếp với S7300 OR S7400 qua CP EM277.  Số lƣợng trạm tối đa trong mạng là 99.    ĐẦU NỐI CÁP PROFIBUS-DP    CÁP K Ế T N Ố I PROFIBUS-DP TRAO ĐỔI DỮ LIỆU GIỮA S7300 OR S7400 & S7200 TRAO