vào config hardware coi mục AI nhé bạn. Mặc định là IW64 và IW66.
Scale tương đối đc như này.Cảm biến có vẻ ko tuyến tính mấy
Thanks Bạn đã test giúp mình. but có 1 số điểm như sau
1. Analog card (6ES7 231-4HD32-0XB0) full scale chỉ từ 0-27648.
2. Một số hàm trong s7-300 ko dc hỗ trợ trong S7-1200.
Mình đã test thử cũng gần đúng giá trị, but vẫn ko hiểu sao nó đúng hehehe :D
Mình post code lên ai giải thik hộ mình:
scale.png
Giả sử analog card đang dc set đọc giá trị từ 0-20ma thì
4ma = 5530
20ma = 27648
1. Đầu tiên scale raw_value (IW0) từ 0-27648 = 0-1 (MD30)
2. MD30 MUL 32000 : đổi raw_value sang tầm từ 0-32000 = MD38
3. 200 DIV 22118 : Đoạn này tính resolution
số "22118" = 27648 - 5530
4. MD30 SUB 5530 = MD34: Đoạn này tính giá trị thực tế sau khi trừ offset 4ma
5. MD34 MUL MD38 = MD42: tính giá trị áp suất
Giá trị trên MD42 đúng như giá trị thực tế đọc dưới cảm biến. Ra dc kết quả but vẫn ko hiểu sao nó đúng. Vì nếu tính theo kiểu này raw_value = max 27648 thì giá trị ra lớn hơn 200bar
gcdpham,
Siemens Solution
PLC, HMI, SCADA, Upgrade S5toS7, SimaticNet, OPC,...
Control Engineer.
Email: Hidden Content
Hàm scale trong demo cũng viết từ những hàm thông thường mà tất cả PLC nào của siemen nào cũng có cả 1200/300/200 đều như nhau cả
Giá trị ISH trong demo là lấy theo giá trị thực tế của chính bạn đưa ra,bởi vậy mình mới nói bạn cho mình giá trị bạn đo đc trên thiết bị thật,còn nếu scale theo giá trị lý thuyết nếu đc thì ko cần cái chủ đề này làm gì,
Công thức tất cả hàm scale mình xài dù trên 200/300 hay 1200 đều theo công thức này:
S_ITR
Ov = [(OSH - OSL) * (Iv - ISL) / (ISH - ISL)] + OSL
with ISL <= Iv <= ISH
and OSL <= Ov <= OSH
Ov = Output value (REAL)
Iv = Input value (INT)
OSH = High limit of Ouput (REAL)
OSL = Low limit of Output (REAL)
ISH = High limit of Input (INT)
ISL = Low limit of Input (INT)
Lần sửa cuối bởi kidsolo1412, ngày 01-06-2015 lúc 10:48 AM.
gcdpham,
Siemens Solution
PLC, HMI, SCADA, Upgrade S5toS7, SimaticNet, OPC,...
Control Engineer.
Email: Hidden Content
Nếu cảm biến bạn tuyến tính,thì theo giá trị thực tế đọc về như bài viết trên giá trị đọc về sẽ không vượt đc với dãi đo như bạn nói ở trên
gcdpham,
Siemens Solution
PLC, HMI, SCADA, Upgrade S5toS7, SimaticNet, OPC,...
Control Engineer.
Email: Hidden Content
Nhận hợp tác lập trình các loại PLC và xử lý sự cố về hệ thống tự động hóa
Gm: Hidden Content
Ko biết cảm biến bạn thế nào,dùng phép tính đơn giản thế này,nếu thật sự cảm biến bạn tuyến tính và theo giá trị bạn ghi ờ trên thì như thế này
0bar---------4910
47.6bar-----9268
107.5bar----14969
tương ứng tính ra 1 bar biểu diễn bởi 91.6-93.57 giá trị số của vùng nhớ analog
(107.5-4910)/107.5 xấp xỉ 93.57 giá trị analog cho 1 bar
Thì 200 bar sẽ là 93.57x200=18714 giá trị +khoảng zero của 4mA bạn ghi là 4910
Thì max giá trị khi áp suất là 200Bar là 23624
Không bao giờ ra ngoài khoảng đc theo như số liệu bạn cho như trên
Đánh dấu