你的問題好像問錯了,STEP7是PLC得編程軟件,你往STEP7里寫數(shù)據(jù)是沒有意義,我就默認(rèn)為你是想把數(shù)據(jù)傳入PLC里。
為臨安等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及臨安網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、做網(wǎng)站、臨安網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
如果是往PLC里寫數(shù)據(jù)這個要看你電腦那端的數(shù)據(jù)通過什么方式往PLC發(fā)了,正常來說可以用串口,網(wǎng)口,或者通過一些通訊軟軟件走M(jìn)ODBUS和OPC之類的,如果是想用串口和網(wǎng)口發(fā),那么PC端和PLC端都需要編程實現(xiàn),而且有可能需要加硬件;如果是走通訊的,在PLC端配置一下OPC SERVER或MODBUS SLAVE塊就可以
接收指定IP的數(shù)據(jù)包,其他IP都要過濾吧,那就用防火墻來搞吧
使用的是client段的獲取方式,用client的可以指定IP,代碼大概如下
public void SendMessage()
{
ASCII = Encoding.ASCII;
// 構(gòu)造用于發(fā)送的 字節(jié)緩沖.
Byte[] sendBytes = ASCII.GetBytes(SEND_MESSAGE);
// 構(gòu)造用于接收的 字節(jié)緩沖.
Byte[] recvBytes = new Byte[256];
// IP地址.
IPAddress localAddr = IPAddress.Parse("192.168.19.81");
// 接入點.
IPEndPoint ephost = new IPEndPoint(localAddr, PORT);
// 第一個參數(shù):AddressFamily = 指定 Socket 類的實例可以使用的尋址方案。
// Unspecified 未指定地址族。
// InterNetwork IP 版本 4 的地址。
// InterNetworkV6 IP 版本 6 的地址。
//
// 第二個參數(shù):SocketType = 指定 Socket 類的實例表示的套接字類型。
// Stream 一個套接字類型,支持可靠、雙向、基于連接的字節(jié)流,而不重復(fù)數(shù)據(jù),也不保留邊界。
// 此類型的 Socket 與單個對方主機通信,并且在通信開始之前需要建立遠(yuǎn)程主機連接。
// 此套接字類型使用傳輸控制協(xié)議 (Tcp),AddressFamily 可以是 InterNetwork,也可以是 InterNetworkV6。
//
// 第三個參數(shù):ProtocolType = 指定 Socket 類支持的協(xié)議。
// Tcp 傳輸控制協(xié)議 (TCP)。
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
// 嘗試連接主機.
s.Connect(ephost);
//Console.WriteLine("向服務(wù)器發(fā)送到了:{0}", SEND_MESSAGE);
// 向主機發(fā)送數(shù)據(jù).
// s.Send(sendBytes, sendBytes.Length, SocketFlags.None);
// 接收服務(wù)器的應(yīng)答.
Int32 bytes = s.Receive(recvBytes, recvBytes.Length, SocketFlags.None);
StringBuilder buff = new StringBuilder();
// while (bytes 0)
// {
// 將緩沖的字節(jié)數(shù)組,裝換為字符串.
// String str = ASCII.GetString(recvBytes, 0, bytes);
String str = "";
for (int i = 0; i recvBytes.Length; i++)
{
str = str + recvBytes[i];
}
int iCount = 0;
iCount = int.Parse(str.Substring(13, 6)) ;
// 加入字符串緩存
buff.Append(str);
// 再次接受,看看后面還有沒有數(shù)據(jù).
//bytes = s.Receive(recvBytes, recvBytes.Length, SocketFlags.None);
// }
textBox1.Text = iCount.ToString();
}
catch (Exception ex)
{
MessageBox.Show("連接/發(fā)送/接收過程中,發(fā)生了錯誤!");
MessageBox.Show(ex.Message);
//Console.WriteLine("連接/發(fā)送/接收過程中,發(fā)生了錯誤!");
//Console.WriteLine(ex.Message);
//Console.WriteLine(ex.StackTrace);
}
finally
{
s.Close();
}
1、在電腦端安裝一個COM-HC的串口調(diào)試工具,打開串口調(diào)試軟件如下圖所示。
2、我們首先設(shè)置的就是調(diào)試工具的端口號與波特率,按著設(shè)備在電腦端識別到的端口號來設(shè)置,波特率要按著設(shè)備的波特率來設(shè)置。
3、接著就是設(shè)置接收到的報文的顯示形式的,系統(tǒng)默認(rèn)二進(jìn)制顯示,我們要將其改成16進(jìn)制顯示,如下圖直接勾選即可。
4、由于顯示的接收到的報文很多,我們一時看不過來,我們可以將它保存到指定的文件夾下,方便我們二次查看,如下圖所示設(shè)置路徑。
5、前面的這些步驟設(shè)置完成后就可以直接打開串口,接收報文了,如下圖所示打開串口按鍵。
6、串口調(diào)試工具的上部分為接收報文界面,下半部分為自己發(fā)送的報文,來得到設(shè)備的回復(fù),如下圖所示。
這種問題快捷的可能是直接傳輸字節(jié)序列(查ascii碼表),
確定接收端正確后,再看python這邊如何編碼
這個具體情況不同:
asp網(wǎng)站所使用的access數(shù)據(jù)庫,直接FTP上傳到網(wǎng)站程序目錄中即可。
php網(wǎng)站使用的mysql數(shù)據(jù)庫,可以備份為.sql文件,然后到網(wǎng)站服務(wù)器后臺,導(dǎo)入備份然后執(zhí)行還原即可導(dǎo)入原數(shù)據(jù)。
net網(wǎng)站使用的sql數(shù)據(jù)庫,常見的是備份為.bak文件,然后網(wǎng)站后臺導(dǎo)入備份,繼續(xù)執(zhí)行還原即可導(dǎo)入原數(shù)據(jù)。
另外對于mysql,如果可以拿到源文件,也可以直接打包傳送到服務(wù)器,然后解壓放置到服務(wù)器mysql目錄即可。
這需要用ajax來實現(xiàn)
index.php
html
titlephp+jquery+ajax+json簡單小例子/title
?php
header("Content-Type:text/html;charset=utf-8");
?
head
script?type="text/javascript"?src="
script?type="text/javascript"
$(function()?{
$("#subbtn").click(function()?{
var?params?=?$("input").serialize();
var?url?=?"1.php";
$.ajax({
type:?"post",
url:?url,
dataType:?"json",
data:?params,
success:?function(msg){
var?backdata?=?"您提交的姓名為:"?+?msg.name?+
"br?/?您提交的密碼為:"?+?msg.password;
$("#backdata").html(backdata);
$("#backdata").css({color:?"green"});
}
});
});
});
/script
/head
body
plabel?for="name"姓名:/label
input?id="name"?name="name"?type="text"?/
/p
plabel?for="password"密碼:/label
input?id="password"?name="password"?type="password"?/
/p
span?id="backdata"/span
pinput?id="subbtn"?type="button"?value="提交數(shù)據(jù)"?//p
/body
/html
1.php代碼:
?php
//接收數(shù)據(jù)-處理數(shù)據(jù)-返回數(shù)據(jù)
echo?json_encode($_POST);
?